projects:wg_watchdog
Это старая версия документа!
WG Wathcdog
Проверка наличия интерфейса и перезапуск при необходимости
- wg_watchdog.sh
#!/bin/bash # ==AUTOEXEC== # === WG WatchDog === # * wg-watchdog.sh — Мини-наблюдатель WireGuard # * Проверяет наличие интерфейса wg0 # * и перезапускает WireGuard при необходимости. sleep 15 if [ -f /tmp/wg-watchdog.disabled ]; then echo "🛑 Watchdog отключён флагом /tmp/wg-watchdog.disabled" exit 0 fi LOG_FILE="/var/log/wg-watchdog.log" echo "$(date '+%Y-%m-%d %H:%M:%S') :: 🔍 Проверка состояния WireGuard..." >> "$LOG_FILE" # Проверка интерфейса wg0 и его состояния if ip link show wg0 &>/dev/null; then if ip link show wg0 | grep -q "state UP"; then echo "[$(date '+%Y-%m-%d %H:%M:%S')] ✅ Интерфейс wg0 существует и активен" >> "$LOG_FILE" else echo "[$(date '+%Y-%m-%d %H:%M:%S')] ⚠️ Интерфейс wg0 существует, но не активен. Перезапуск..." >> "$LOG_FILE" sudo systemctl restart wg-quick@wg0 fi else echo "[$(date '+%Y-%m-%d %H:%M:%S')] ❌ Интерфейс wg0 не найден. Перезапуск..." >> "$LOG_FILE" sudo systemctl restart wg-quick@wg0 fi
crontab -e
- открывает
projects/wg_watchdog.1742757903.txt.gz · Последнее изменение: 2025/03/23 22:25 —