ich bin eher nicht das Mega Script-Kiddie, habe aber ein Script, welche zu bestimmten Uhrzeiten periodisch nachschaut, ob mein Heimserver noch benötigt wird, und ihn ansonsten herunterfährt. Das prüft es anhand verschiedener Kriterien: Traffic auf der Netzwerkschnittstelle, angemeldeter User, check ob ein "screen" läuft.
Das hat den einfachen Sinn: ich starte einen "screen" und lege ihn in den Hintergrund, um damit das Herunterfahren zu verhindern, weil ich z.B. noch andere Aufgaben löse.
Außerdem startet das Script den Server nach einer uptime von 24 Tagen neu. Warum, fragt nicht, gab mal einen Bug, ob der noch existiert, weiß ich nicht, aber ich finde einen Neustart ca. einmal im Monat jetzt gar nicht soo schlecht bei einem Heimserver.
Das passiert mit den folgenden Zeilen:
Code: Alles auswählen
if
[ `sed -e "s/\..*//" /proc/uptime` -gt 2073600 -a `date +%k` -eq 3 ]; then /sbin/shutdown -r now;
fi
Das ganze funktioniert einwandfrei, aber danach greifen ja alle anderen Regeln nicht mehr, weil es beispielsweise ja auch keinen laufenden screen mehr gibt. Sprich der Server rebootet beispielsweise völlig korrekt um 01.30h, und wenn das Script dann um 02h erneut durchläuft, wird er heruntergefahren, obwohl er das ja eigentlich gar nicht soll.
Frage:
Wie kann ich dort einbauen, daß nur nach dem Script-reboot einmalig z.B. ein neuer "screen" gestartet und in den Hintergrund gelegt wird, so daß danach alles wieder abläuft wie vorher!??