16. 6. 2017

NAS Server 13 - automatické vypínanie

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