Cron de redémarrage quotidien du serveur?

14

Je veux créer un travail cron qui exécute daiy à l'heure assignée et redémarre le serveur ubuntu.

J'essaie d'ajouter rebootuniquement dans cron, mais cela ne fonctionne pas, alors que cela fonctionne lorsque j'essaie de l'exécuter à partir de CLI.

Veuillez indiquer quelle commande dois-je ajouter dans cron pour qu'il redémarre le serveur quotidiennement à une heure précise.

Prashant Kumar
la source
Puis-je vous demander pourquoi vous devez redémarrer un serveur quotidiennement? C'est une indication pour moi que vous vous trompez. Probablement.
gertvdijk
2
@gertvdijk j'ai rencontré des situations où vous devez redémarrer une machine régulièrement. Logiciel propriétaire qui obtient une mauvaise fuite de mémoire après environ 30 heures de disponibilité, des choses comme ça.
jrg
1
Serveurs de jeux (toux) Minecraft (toux) divise souvent ou se transforme en quelque sorte en centaines de processus.
Kaz Wolfe
ce message est également utile askubuntu.com/questions/327015/…
kevin
Si le problème est qu'une application perd de la mémoire au fil du temps, une meilleure solution serait de simplement redémarrer ce service d'application.
Soren A

Réponses:

26

Vous devez exécuter la commande suivante:

/sbin/shutdown -r now

avec des pirviliges racines. La façon de le faire est d'utiliser la crontab de root, pas votre crontab d'utilisateur. Un sudoavant la commande crontab habituelle fait cela:

sudo crontab -e

Astuce: vous pouvez changer l'éditeur standard du shell pour des choses comme crontabet visudoavec sudo update-alternatives --config editor, puis sélectionner l'éditeur de votre choix.

En modifiant la crontab, vous devez ajouter la ligne suivante à votre fichier:

# 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

Le "@daily" est ici un raccourci pour chaque jour à minuit (équivalent à "0 0 * * *"). Au fait - pourquoi voulez-vous un redémarrage quotidien?

EDIT - voir https://help.ubuntu.com/community/CronHowto pour les informations suivantes: "Les commandes Crontab sont généralement stockées dans le fichier crontab appartenant à votre compte utilisateur (et exécutées avec le niveau d'autorisations de votre utilisateur). Si vous souhaitez exécutez régulièrement une commande nécessitant des autorisations administratives, éditez le fichier racine crontab: sudo crontab -e "

EDIT - merci à @charlesbridge pour son commentaire - réponse modifiée pour inclure le chemin complet

Clive van Hilten
la source
2
Avec Cron, est toujours le plus sûr d'utiliser les chemins complets:/sbin/shutdown -r
Charlesbridge
1
Quelle est la racine faire entre le réglage de l'heure et la commande? il ne devrait pas être juste @daily / sbin / shutdown -r maintenant les utilisateurs root cronfile? TIA
Ominus
3
La commande suivante a le même effet: /sbin/reboot.
Marc Vanhoomissen