feat: cron-watchdog для туннеля — перезапуск autossh каждую минуту

Добавлена запись в crontab роутера при установке туннеля:
  * * * * * killall -0 autossh || /opt/etc/init.d/S99hydra_tun start
При удалении (Снести с роутера) — cron-задача тоже удаляется.
This commit is contained in:
Андрей Бобырев
2026-04-28 20:43:23 +03:00
parent a825d58c54
commit 7ce2c58edd

View File

@@ -484,6 +484,11 @@ esac
INITEOF
chmod +x /opt/etc/init.d/S99hydra_tun
# Cron-watchdog: каждую минуту проверяет autossh и перезапускает если упал
CRON_JOB="* * * * * killall -0 autossh 2>/dev/null || /opt/etc/init.d/S99hydra_tun start"
( crontab -l 2>/dev/null | grep -v 'S99hydra_tun'; echo "$CRON_JOB" ) | crontab -
echo 'Watchdog cron установлен'
echo '[4/4] Запуск...'
killall autossh 2>/dev/null || true
sleep 1
@@ -893,6 +898,9 @@ rm -f /opt/etc/hydra_tk && echo 'SSH-ключ туннеля удалён' || tr
rm -f /opt/etc/wireguard/wg0.conf /opt/etc/wireguard/wg0.key 2>/dev/null && echo 'WireGuard конфиг удалён' || true
rm -f /tmp/hydra_tun.log /tmp/rci.jar /tmp/wg_rci.json 2>/dev/null || true
# Удалить watchdog из crontab
( crontab -l 2>/dev/null | grep -v 'S99hydra_tun' ) | crontab - && echo 'Watchdog cron удалён' || true
for i in $(seq 50 70); do
ip link show nwg$i >/dev/null 2>&1 && ip link delete nwg$i && echo "nwg$i удалён"
done