Ich schnalls gerade total nicht mehr.
Script 1 (game_reboot.sh):
Code: Alles auswählen
#!/bin/bash
anzahl_user=0
while IFS= read -r line
do
if [ "$line" != "robot" ] && [ "$line" != "roboteasy" ] && [ "$line" != "-" ]; then
((anzahl_user=anzahl_user+1))
fi
done < user_liste.txt
if [ "$anzahl_user" -eq 0 ]; then
killall -9 python3
killall -9 robot.py
killall -9 roboteasy.py
killall -9 game_server.py
date +"%F %T Game Reboot ausgefuehrt. Anzahl User: $anzahl_user" >> /home/galaxis/log/galaxis_log.txt
else
date +"%F %T Game Reboot NICHT ausgefuehrt. Anzahl User: $anzahl_user" >> /home/galaxis/log/galaxis_log.txt
fi
Code: Alles auswählen
#!/bin/bash
strich_vorhanden=false
anzahl_user=0
while IFS= read -r line
do
if [ "$line" == "-" ]; then
strich_vorhanden=true
fi
if [ "$line" != "robot" ] && [ "$line" != "roboteasy" ] && [ "$line" != "-" ]; then
((anzahl_user=anzahl_user+1))
fi
done < user_liste.txt
if [ "$anzahl_user" -eq 0 ] && [ $strich_vorhanden == true ]; then
killall -9 robot.py
killall -9 roboteasy.py
date +"%F %T Robot Reboot ausgefuehrt. Anzahl User: $anzahl_user" >> /home/galaxis/log/robot_neustart.log
else
date +"%F %T Robot Reboot NICHT ausgefuehrt. Anzahl User: $anzahl_user" > /dev/null
fi
Werden sie per Cron aufgerufen, läuft Script 1 problemlos.
Script 2 läuft sicher bis zur Zeile 4 (hab ich mit einer echo Ausgabe in eine Datei getestet). Bei Zeile 7 in der while Schleife kommt es nie an.
"service crond restart" hab ich auch schon ausgeführt.
Was ist da los?
PS:
Zur Koplettierung, hier noch der Cron:
Code: Alles auswählen
*/5 * * * * /home/galaxis/robofehler.sh &
1 3 * * 2 /home/galaxis/game_reboot.sh & > /home/galaxis/log/game_reboot.log