Hallo liebes Forum,
als neuer Besitzer einer DS214se (kein WoL, kein einstellbares Herunterfahren, private Nutzung) wünsche auch ich mir ein gesteuertes Herunterfahren.
Manuelles Einschalten ist kein Problem.
Da ich aus der Windows-/DOS-Welt komme, stellt Linux für mich schon eine Herausforderung dar.
Ich habe nun tagelang das Forum studiert um ausreichend Kenntnisse zu erhalten das bei meiner NAS umzusetzen.
Es handelt sich hier ganz klar um copy and paste aus den vorhandenen Scriptschnipseln.
Vielleicht kann sich einer der "Linux-/Syno-Pros" meine Vorgehensweise mal anschauen und mir bei Fehlern etwas auf die Sprünge helfen. I
ch habe bis jetzt noch nichts an meinem System geändert.
Wollte mir erst mal eine "Freigabe" von Euch einholen.
Hier meine geplante Vorgehensweise:
Aufgabe:
Das Script schaut regelmäßig ob definierte Clients verbunden sind (Aktivitätschecks), und fährt bei Inaktivität die DS herunter.
Vorgehen:
1. Script autoshutdown.sh im Text-Editor (vi-editor) der DS erstellen und unter /volume1/private/scripts/ speichern (Pfad evtl. anpassen)
Rich (BBCode):
#!/bin/sh
# shutdown der DS wenn kein anderes Netzwerkgerät mehr verfügbar ist
#
# VARIABLES TO EDIT
# host: network device (eg. router or PC) as reference (name or IP)
# host2: network device (eg. router or PC) as reference (name or IP)
# host3: network device (eg. router or PC) as reference (name or IP)
# waittime (in seconds): time between each ping (for PC: use min. reboot time) to prevent shutdown while rebooting
Set –x (nur zum Testen, zeigt alle Zeilen an)
host=IP von gerät1 (anpassen)
host2=IP von Gerät2 (anpassen)
host3=IP von Gerät3 (anpassen)
waittime=300 (5min., anpassen)
while true; do
ping -c 1 $host || ping -c 1 $host2 || ping -c 1 $host3 > /dev/null
if [ $? == 1 ]; then
sleep $waittime
ping -c 1 $host || ping -c 1 $host2 || ping -c 1 $host3 > /dev/null
if [ $? == 1 ]; then
# shutdown DS
poweroff
fi
fi
sleep $waittime
done;
Anschließend mit chmod 755 autoshutdown.sh die Rechte setzen.
2. Script S99zzautoshutdown.sh im Text-Editor (vi-editor) der DS erstellen in /usr/syno/etc/rc.d/ damit es bei jedem Hochfahren der DS gestartet wird.
Rich (BBCode):
#!/bin/sh
case "$1" in
start)
echo "Starting autoshutdown script..."
/volume1/private/scripts/autoshutdown.sh &
;;
stop)
killall autoshutdown.sh
killall sleep
;;
restart)
$0 stop
sleep 1
$0 start
;;
Esac