Keďže sa NAS už nejakú dobu používa cez týždeň najmä večer po práci, či už na prehrávanie rozprávok cez DLNA, alebo zálohovanie fotiek, je výhodné riešiť jeho automatické vypínanie na noc.
Pôvodný skript bol príliš nespoľahlivý, zisťoval len pripojené spojenia na NAS cez netstat, naplánovaná kontrola bola teda len na hlboké nočné časy.
Novší skript kontroluje pripojené zariadenia v sieti.
NAS má na routeri nastavenú pevnú IP adresu, jednu z vyšších v rozsahu. Rovnako router. V nižšom obmedzenom rozsahu, povedzme prvých 30 adries je prideľovaných dynamicky cez DHCP. Tieto kontroluje skript príkazom arping na dostupnosť. Klasický ping blokuje napríklad firewall vo windows 10.
Takto zachytí sledovanie SMART televízora, či browsovanie mobilom, alebo zapnutý počítač v sieti. Teda aktivity prezrádzajúce že NAS niekto využije.
#!/bin/bash
lokal ()
{
poc=0
for ip in 192.168.1.{1..30}; do
# nav=$(ping -c 1 -W 1 $ip | grep "64 bytes" )
nav=$(arping -c1 -f $ip | grep reply )
if [ "$nav" ]; then
# echo $ip
poc=1
break
fi
done
}
lokal
echo "`date` -- $poc - niekto v lokalnej sieti"
if [ $poc = "0" ]; then echo "pockam 15 min";
sleep 900
lokal
if [ $poc = "0" ]; then echo "stale 0, vypinam";
/sbin/shutdown -h now
fi
fi
Skript je uložený pod root používateľom a naplánovaný v cron-e na každú pol hodinu.
Žiadne komentáre:
Zverejnenie komentára