http://de.nas-4220.org/index.php/FAQs#th…m_zu_l.C3.B6sen
auch mein webserver stürzt unregelmäßig ab,
kann aber ferngestartet werden (so man es merkt),
nur ist das keine Lösung weil man ja den Lauf nicht täglich überprüft oder überprüfen kann :ärgern:
war grad 2 Wochen in Ägypten ohne Webzugang,
habe mal kurz eine Grußkarte online gestellt und
eine Woche später lese ich ob ich die aus dem Netz genommen habe ?
weil sie keiner mehr sieht
also Abhilfe muss her
es gibt ja siehe oben eine Lösung, nur muss das irgendwie passend ins do_it gebaut werden
auf noch mehr Scripte und Tools hab ich keinen Bock
also gebastelt:
|
Codice sorgente
|
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
|
#!/bin/sh
#
#PATH: /mnt/IDE1/public/applications/do_it
#FILE: regular_checks.background
#
# ab hier webserver restart
#
USD=$(cat /usr/sausalito/codb/objects/1/Disk.rootdir 2> /dev/null)/public/applications
# bildet hier: "/mnt/IDE1/public/applications"
# every 30 seconds run the following loop
while sleep 30; do
RESTART=$(sed $= -n $USD/do_it/restart.txt) #restart count
#check if the webserver has given up, restart if necessary
PS_var=`ps`
if !(echo $PS_var |grep $USD/web >/dev/null); then
echo restart webserver
/usr/sbin/thttpd -C $USD/webserver/thttpd.conf
#tail –n 99 $USD/do_it/restart.txt > $USD/do_it/restart.txt 2> /dev/null ### tail gibt es nicht , also Nachbau:
#tail Nachbau: tail –n 99 $USD/do_it/restart.txt > $USD/do_it/restart.txt 2> /dev/null
# die letzten 99 Zeilen sichern und eine anhaengen, = maximal die letzten 100 restart Zeilen
# um ein mögliches Anwachsen der restart.txt zu begrenzen und trotzdem zu sehen wann und wie oft in welcher Zeit/Datum
#
# die 100 ist es die bis 99 zählt, für mehr oder weniger halt anpassen
# in der nächsten Zeile, nicht in der Kommentarzeile, sondern im IF !!!
#
#sed $USD/do_it/restart.txt -e :a -e '$q;N; !!! 100 !!! ,$D;ba' > $USD/do_it/restart2.txt #tail Nachbau
#
if [ $RESTART -gt 99 ]; then
let ANFANG=$RESTART-99
echo "...=$RESTART Anfang= $ANFANG"
sed $USD/do_it/restart.txt -e :a -e '$q;N;100,$D;ba' > $USD/do_it/restart2.txt #tail Nachbau welche die letzen 99 Zeilen in restart2 kopiert
else
echo ".....=0 Anfang= 0"
cp $USD/do_it/restart.txt $USD/do_it/restart2.txt
fi
mv $USD/do_it/restart2.txt $USD/do_it/restart.txt # nach restart rueckkopiiert
date >> $USD/do_it/restart.txt # den letzten restart anhaengt
else
rm $USD/do_it/testet-* 2>/dev/null
date > $USD/do_it/testet-`date +%Y_%m_%d__%H_%M_%S`.txt # wenn nix war wird nur testet geschrieben
fi
done
|
zum starten:
|
Codice sorgente
|
1
2
3
4
5
6
|
#PATH: /mnt/IDE1/public/applications/do_it
#FILE: start_regular_checks.sh
#!/bin/sh
#
USD=$(cat /usr/sausalito/codb/objects/1/Disk.rootdir 2> /dev/null)/public/applications
$USD/do_it/regular_checks.background &
|
man könnte also im do_it init noch folgendes anhängen, path evt. anpassen
|
Codice sorgente
|
1
|
/mnt/IDE1/public/applications/do_it/start_regular_checks.sh
|