/usr/share/doc/ifupdown/contrib/ensureifup is in ifupdown 0.8.19.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/bin/sh
# This script is useful to check wether an interface is up and,
# if not, it attempts to bring it back. This can be necessary
# if your ISP provider causes occasional outages.
# Some ISPs are known to termine connections when they reach
# 24 hours to "prevent abuse".
# Run this script through cron (every 5 minutes? your call)
# and ensure that ifstate is located where it is defined below.
#
# NOTE: This script is just provided as an example. If you want this
# feature you might be better off installing ifplugd which provides
# similar functionality (but more featureful) out of the box.
# TODO:
# Improve it so it can find out (eg from /run/network/ifstate)
# whether an interface was brought down
# unexpectedly, or if a clean "ifdown" was issued.
iface="$1"
ifstate=/usr/local/sbin/ifstate
if [ `$ifstate "$iface"` = DOWN ]
then
logger -s "Trying to bring $iface back up..."
ifdown "$iface"
ifup "$iface"
[ `$ifstate "$iface"` = UP ] && logger -s "$iface now up again"
fi
exit 0
|