Täglicher Server-Neustart cron?

14

Ich möchte einen Cron-Job erstellen, der täglich zur zugewiesenen Zeit ausgeführt wird und den Ubuntu-Server neu startet.

Ich versuche, rebootnur in cron hinzuzufügen , aber es funktioniert nicht, wohingegen es funktioniert, wenn ich versuche, es über die CLI auszuführen.

Bitte geben Sie an, welchen Befehl ich in cron hinzufügen soll, damit der Server täglich zu einer bestimmten Zeit neu gestartet wird.

Prashant Kumar
quelle
Darf ich fragen, warum Sie einen Server täglich neu starten müssen? Dies ist ein Hinweis für mich, dass Sie etwas falsch machen. Wahrscheinlich.
Gertvdijk
2
@gertvdijk Ich bin auf Situationen gestoßen, in denen Sie einen Computer regelmäßig neu starten müssen. Proprietäre Software, die nach ca. 30 Stunden Betriebszeit einen schlechten Speicherverlust aufweist.
jrg
1
Spieleserver (Husten) Minecraft (Husten) leckt oft oder teilt sich irgendwie in Hunderte von Prozessen auf.
Kaz Wolfe
Dieser Beitrag ist auch nützlich askubuntu.com/questions/327015/…
Kevin
Wenn das Problem darin besteht, dass eine Anwendung im Laufe der Zeit Speicher verliert, ist es eine bessere Lösung, diesen Anwendungsdienst einfach neu zu starten.
Soren A vor

Antworten:

26

Sie müssen den folgenden Befehl ausführen:

/sbin/shutdown -r now

mit Wurzel pirviliges. Der Weg, dies zu tun, besteht darin, die Crontab von root zu verwenden, nicht die Crontab Ihres Benutzers. Ein sudovor dem üblichen crontab-Befehl macht das:

sudo crontab -e

Tipp: Sie können den Standardeditor der Shell für Dinge wie crontabund visudomit wechseln sudo update-alternatives --config editorund dann den Editor Ihrer Wahl auswählen.

Wenn Sie die Crontab bearbeiten, sollten Sie Ihrer Datei die folgende Zeile hinzufügen:

# For more information see the manual pages of crontab(5) and cron(8)
# 
# m h  dom mon dow   command  

@daily root /sbin/shutdown -r now

Das "@daily" hier ist eine Verknüpfung für jeden Tag um Mitternacht (entspricht "0 0 * * *"). Übrigens - warum möchten Sie einen täglichen Neustart?

BEARBEITEN - siehe https://help.ubuntu.com/community/CronHowto für Folgendes: "Crontab-Befehle werden im Allgemeinen in der Crontab-Datei gespeichert, die zu Ihrem Benutzerkonto gehört (und mit den Berechtigungsstufen Ihres Benutzers ausgeführt). Wenn Sie möchten Führen Sie regelmäßig einen Befehl aus, für den Administratorrechte erforderlich sind, und bearbeiten Sie die Stammdatei crontab: sudo crontab -e "

BEARBEITEN - danke an @charlesbridge für seinen Kommentar - bearbeitete Antwort, um den vollständigen Pfad einzuschließen

Clive van Hilten
quelle
2
Mit Cron ist es immer am sichersten, vollständige Pfade zu verwenden:/sbin/shutdown -r
Charles Bridge
1
Was macht der Root zwischen der Einstellung der Uhrzeit und dem Befehl? Sollte es nicht einfach @daily / sbin / shutdown -r sein, jetzt in der Cronfile des Root-Benutzers? TIA
Ominus
3
Der folgende Befehl hat den gleichen Effekt : /sbin/reboot.
Marc Vanhoomissen