Beachten Sie, dass das Einfügen Ihres Klartextkennworts in eine Textdatei keine gute Idee ist. Daher ist es am besten, diesen Job von Anfang an als Root auszuführen. Anstatt die crontab von root über den crontab
Befehl zu bearbeiten , der die Einträge an /var/spool/cron/crontabs
einem etwas kryptischen Ort belässt , ziehe ich es normalerweise vor, sie explizit einzugeben /etc/cron.d
. Einträge in cron.d werden als System-Crontab-Einträge ausgeführt, als Konfigurationsdateien behandelt, damit sie Systemneustarts, Aktualisierungen und Upgrades überleben können, und Sie können den laufenden Benutzer explizit angeben:
echo "0 3 * * * root /sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.d/reboot-at-3-am
Wenn Sie keine bestimmte Zeit benötigen, sondern das System nur einmal täglich /etc/cron.daily
neu starten möchten, fügen Sie eine ausführbare Datei oder ein Skript hinzu, und es wird automatisch zu einer festgelegten Zeit (standardmäßig 6:25 Uhr Systemzeit) ausgeführt:
echo "/sbin/shutdown -h 5 'System will reboot in 5 minutes'" | sudo tee /etc/cron.daily/reboot-me
Beachten Sie, dass ich nicht nur das System ohne Vorwarnung neu starte, sondern eine 5-Minuten-Warnung einstelle. Wenn also jemand angemeldet ist, hat er die Möglichkeit, seine Arbeit zu speichern oder sogar das Herunterfahren mit zu unterbrechen sudo shutdown -c
, anstatt das System ziehen zu lassen weg unter ihnen. Sie können diese entsprechend anpassen, wenn Sie eine ausführlichere Warnung geben möchten (verwenden Sie beispielsweise shutdown -h 60
den Befehl und führen Sie ihn um 2:00 Uhr morgens aus, und Sie erhalten eine großzügige 1-Stunden-Warnung für Benutzer).
Dies basiert auf meinen bisherigen Erfahrungen; an einem gewissen Punkt , den Sie werden werden in der Arbeit , wenn die crontab Eintrag läuft angemeldet, und wenn es neu startet nur ohne Vorwarnung werden Sie ein sehr trauriger Panda sein.
echo $PASSWD