diff --git a/server/main.py b/server/main.py index 9d49ad6..3834c41 100644 --- a/server/main.py +++ b/server/main.py @@ -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