home *** CD-ROM | disk | FTP | other *** search
- #!/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 /etc/network/run/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
-