Files
op-packages/luci-app-quickactions/root/usr/bin/quickactions-failover
T

46 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# Master switch for the quickactions failover system.
# quickactions-failover on|off|status|test
LOCK=/tmp/quickactions_wan_down.lock
FAILS=/tmp/quickactions_wan_fails.count
OKS=/tmp/quickactions_wan_oks.count
HP=/etc/hotplug.d/iface/99-quickactions-conntrack-flush
CRON_LINE="* * * * * /usr/bin/wan-watchdog.sh"
case "$1" in
on)
uci -q set quickactions.failover.enabled=1
uci -q commit quickactions
[ -f "$HP" ] && chmod 755 "$HP"
(crontab -l 2>/dev/null | grep -v "wan-watchdog.sh"; echo "$CRON_LINE") | crontab -
/etc/init.d/cron restart
echo "ENABLED"
logger -t quickactions-failover "master switch: enabled"
;;
off)
uci -q set quickactions.failover.enabled=0
uci -q commit quickactions
[ -f "$HP" ] && chmod 644 "$HP"
crontab -l 2>/dev/null | grep -v "wan-watchdog.sh" | crontab -
rm -f "$LOCK" "$FAILS" "$OKS"
/etc/init.d/cron restart
echo "DISABLED"
logger -t quickactions-failover "master switch: disabled"
;;
status)
en=$(uci -q get quickactions.failover.enabled)
[ -z "$en" ] && en=1
[ "$en" = "1" ] && echo "STATUS: [ON]" || echo "STATUS: [OFF]"
[ -f "$LOCK" ] && echo "MODE: [BACKUP]" || echo "MODE: [PRIMARY]"
;;
test)
/usr/bin/wan-watchdog.sh
echo "manual run complete"
;;
*)
echo "Usage: quickactions-failover [on|off|status|test]"
;;
esac
exit 0