Ping check
Fájlok létrehozása
1. Script
Tartalom:
#!/bin/bash
GATEWAY=$(ip route | awk '/default/ {print $3; exit}')
FAIL_FILE=/tmp/ping-fail-count
if ping -c 1 -W 3 "$GATEWAY" > /dev/null 2>&1; then
rm -f "$FAIL_FILE"
else
COUNT=$(cat "$FAIL_FILE" 2>/dev/null || echo 0)
COUNT=$((COUNT + 1))
echo "$COUNT" > "$FAIL_FILE"
if [ "$COUNT" -ge 2 ]; then
systemctl poweroff
fi
fi
2. Service
Tartalom:
3. Timer
Tartalom:
[Unit]
Description=Run ping check every minute
[Timer]
OnBootSec=2min
OnUnitActiveSec=1min
[Install]
WantedBy=timers.target
Telepítés / setup
sudo chmod +x /usr/local/bin/ping-check.sh
sudo systemctl daemon-reload
sudo systemctl enable --now ping-check.timer
Start / stop
| Művelet | Parancs |
|---|---|
| Leállítás | sudo systemctl stop ping-check.timer |
| Letiltás (boot után sem indul) | sudo systemctl disable ping-check.timer |
| Indítás | sudo systemctl start ping-check.timer |
| Engedélyezés + indítás | sudo systemctl enable --now ping-check.timer |
Ellenőrzés
| Mit néz | Parancs |
|---|---|
| Timer státusz | systemctl status ping-check.timer |
| Következő futás | systemctl list-timers ping-check.timer |
| Utolsó futások logja | journalctl -u ping-check.service --no-pager -n 20 |
| Fail számláló értéke | cat /tmp/ping-fail-count |
| Számláló nullázása | rm -f /tmp/ping-fail-count |
| Gateway manuális ping | ping -c 1 -W 3 $(ip route \| awk '/default/ {print $3; exit}') |