Automatisches Shutdownscript Synology DSM 5.2

shtdwn.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/opt/bin/bash</p>
PC=192.168.234.56
NOTEBOOK=192.168.234.56
HANDY=192.168.234.56
waittime=300
MAXRETRYS=4

logger -p user.crit Autoshutdown-Script wurde gestartet
#Sicherheitsreserve
sleep 1h

for ((RETRY=1; RETRY<=$MAXRETRYS; RETRY++)); do

logger -p user.crit Versuch Nr.: $RETRY

ping -c 1 -W 2 $PC >/dev/null
if [ $? == 0 ]; then
logger -p user.crit PC erreichbar : ja
PC_AKTIV=1
RETRY=0
else
logger -p user.crit PC erreichbar : nein
PC_AKTIV=0
fi

ping -c 1 -W 2 $NOTEBOOK >/dev/null
if [ $? == 0 ]; then
logger -p user.crit Notebook erreichbar : ja
NOTEBOOK_AKTIV=1
RETRY=0
else
logger -p user.crit Notebook erreichbar: nein
NOTEBOOK_AKTIV=0
fi

ping -c 1 -W 2 $HANDY >/dev/null
if [ $? == 0 ]; then
logger -p user.crit Handy erreichbar : ja
HANDY_AKTIV=1
RETRY=0
else
logger -p user.crit Handy erreichbar : nein
HANDY_AKTIV=0
fi

/volume1/@appstore/pyload/bin/python /volume1/@appstore/pyload/pyload/pyLoadCli.py status |grep -e "No downloads running" -e "Could not establish connection to 192.168" >/dev/null
if [ $? == 1 ]; then
logger -p user.crit Pyload aktiv : ja
PYLOAD_AKTIV=1
RETRY=0
else
logger -p user.crit Pyload aktiv : nein
PYLOAD_AKTIV=0
fi

smbstatus -q|grep "192.168.234" >/dev/null
if [ $? == 0 ]; then
logger -p user.crit Samba aktiv : ja
SAMBA_AKTIV=1
RETRY=0
else
logger -p user.crit Samba aktiv : nein
SAMBA_AKTIV=0
fi

if [ $[PC_AKTIV+NOTEBOOK_AKTIV+HANDY_AKTIV+PYLOAD_AKTIV+SAMBA_AKTIV] == 0 ] && [ $RETRY == $MAXRETRYS ]; then
break
fi

if [ $RETRY = 0 ]; then
logger -p user.crit In $waittime Sek. gehts von vorne los
else
logger -p user.crit Naechsten Versuch abwarten...
fi

sleep $waittime

done

if [ $RETRY == $MAXRETRYS ]; then
logger -p user.crit DS wird heruntergefahren
poweroff
exit
fi
fi

S99zzautoshutdown.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh
case "$1" in
start)
echo -e "Autoshutdown \033[32m[Started]\033[0m"
/volume1/privat/shtdwn.sh &
;;
stop)
killall shtdwn.sh
killall sleep
echo -e "Autoshutdown \033[32m[Stoped]\033[0m"
;;
restart)

$0 stop
sleep 1
$0 start
;;
esac