123 votes

Comment puis-je programmer un redémarrage nocturne ?

J'ai des problèmes périodiques avec une application particulière, XBMC. Si j'utilise XBMC régulièrement, je ne semble pas avoir de problèmes, mais si je le laisse sans surveillance pendant plus de 12 heures environ, je dois le redémarrer pour qu'il fonctionne à nouveau.

Je sais qu'un redémarrage programmé est PAS la réponse mais jusqu'à ce que je trouve le problème, je dois programmer un redémarrage chaque matin pour que ma femme puisse l'utiliser en mon absence et qu'il ne soit pas jeté par la fenêtre :)

Des preneurs ?

201voto

Graham Points 5475

J'utiliserais cron (qui devrait déjà être installé) :

Modifier la crontab :

sudo crontab -e

La première fois, vous devrez peut-être choisir votre éditeur préféré (comme nano).

Insérez une ligne comme

0 4   *   *   *    /sbin/shutdown -r +5

en bas. Explication :

m      h    dom        mon   dow       command
minute hour dayOfMonth Month dayOfWeek commandToRun

donc la ligne

  0 4   *   *   *    /sbin/shutdown -r +5

redémarrerait votre système tous les jours à 4h05. (4 heures du matin + 5 minutes)

Ctrl + X , Y , Enter devrait vous faire sortir de la crontab (si vous utilisez nano)

Note : vous devrez peut-être exécuter crontab -e en tant que root, parce que le shutdown a besoin de root. crontab -e ouvre un fichier dans /tmp au lieu de la crontab actuelle afin qu'il puisse vérifier votre nouvelle crontab pour les erreurs. S'il n'y a pas d'erreurs, votre crontab actuelle sera mise à jour.

19voto

Brian Childress Points 437

En ajoutant ceci à /etc/cron.daily/zz-reboot devrait fonctionner :

#!/bin/sh
shutdown -r now

Et sudo chmod a+x /etc/cron.daily/zz-reboot . Le préfixe "zz" le forcera à s'exécuter en dernier parmi tous les autres scripts de ce répertoire. Vérifiez /etc/crontab pour voir à quelle heure de la journée cela va se passer :

grep daily /etc/crontab | awk '{print $2 ":" $1}'

Si cela ne fonctionne pas, une entrée cron "normale" peut également fonctionner, via le lien suivant sudo crontab -e

MINUTE HOUR * * * shutdown -r now

Et enfin, si vous voulez juste faire des redémarrages ponctuels, vous pouvez utiliser at :

echo "shutdown -r now" | sudo at 04:30

3voto

techfashionista Points 47

Je travaille avec les cronjobs depuis environ un mois à mon travail et je programme la mise hors tension et le redémarrage. C'est très simple. Je sais que cette question a été posée il y a environ 5 ans, mais si quelqu'un a encore des problèmes, vous pouvez utiliser cette méthode et vous serez fixé.

ouvrir le terminal (ctrl+T)

sudo nano /etc/crontab

faites défiler jusqu'en bas et entrez la commande ci-dessous

00 6 * * * root reboot 

c'est réglé pour redémarrer à 6h tous les jours, et appuyez sur entrée

Si vous voulez programmer la mise hors tension à 23 heures tous les jours, vous pouvez entrer

00 23 * * * root poweroff

Je dois encore trouver comment mettre en marche une machine en utilisant cronjob quand elle est en panne. Je modifierai cette réponse dès que j'aurai trouvé la solution.

P.S. C'est la première fois que je poste une réponse sur un formulaire ; j'espère que cela aidera quelqu'un ! :D

1voto

Essa Points 21

Vous devriez créer un script en suivant les indications données par Kees Cook...

Vous pouvez simplement copier et coller les informations ci-dessous dans n'importe quel éditeur de texte et créer le fichier zz-reboot dans le répertoire proposé.

Après cela, n'oubliez pas de faire un clic droit sur le fichier et de lui attribuer une autorisation d'exécution. Si vous avez envie de le faire en utilisant le terminal :

sudo chmod +x /etc/cron.daily/zz-reboot

Pour mieux comprendre ce que vous faites, rappelez-vous qu'en /etc Dans ce dossier, on trouve généralement les fichiers de configuration et on peut y trouver cron.hourly , cron.daily et d'autres dossiers cron. Cron se charge d'exécuter les applications et les script à une certaine heure.

Si vous voulez être strict sur le temps de redémarrage, il suffit d'entrer un chiffre.

sudo crontab -e

afin que vous puissiez modifier le crontab pour l'utilisateur root.

Si vous préférez le faire graphiquement, vous pouvez installer gnome-schedule depuis le centre logiciel. Si vous voulez modifier le gnome-schedule pour l'utilisateur root, assurez-vous de l'exécuter depuis un terminal :

gksudo gnome-schedule

Amusez-vous bien à jouer ! :)

p.s. : excellente remarque, SBlatt ! Je me demandais s'il n'y avait pas moyen de forcer cron.daily le temps d'exécution manuellement.

1voto

DKeeler Points 11

Pensez à

0 6 * * * sudo shutdown -r     

Ce sera un redémarrage à 6 heures du matin tous les jours. J'aime cette méthode car elle permet un délai d'une minute pour arrêter toute autre tâche en arrière-plan et avertit toute autre personne qu'un arrêt est en cours.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X