Comment redémarrer à un moment précis?


18

Est-il possible de redémarrer mon Raspberry Pi à minuit chaque nuit? Je sais que sous Linux, vous utiliseriez crontab, mais je n'arrive pas à trouver /etc/crontab.


En fait, vous devez d'abord créer le répertoire / var / spool. Je ne sais pas pourquoi. Essayezmkdir /var/spool
Elliot A.

Réponses:


28

Pour modifier la crontab racine:

sudo -i
crontab -e

mettez les entrées que vous voulez; il y a un modèle pratique chargé par crontab qui vous montre quels champs sont quoi. Une fois que vous avez terminé et enregistré dans l'éditeur crontab:

exit

pour revenir au shell utilisateur.

Pour redémarrer la machine à minuit et à 8 heures, vous avez besoin de la ligne:

0 0,8 * * * reboot

mais vraiment, Linux n'a pas besoin d'être beaucoup redémarré, voire pas du tout.


7
Pourquoi avez-vous créé un shell super-utilisateur distinct à exécuter crontab? Pourquoi ne pas sudo crontab -e?
Alex Chamberlain

2
@AlexChamberlain - Ouaip, il vaut mieux ne pas encourager les gens à démarrer un shell racine à moins que cela ne soit absolument nécessaire, mais au moins scruss suggéré exitlorsque vous avez terminé.
Mark Booth

@MarkBooth Entièrement d'accord. IMHO sudodevrait refuser de courir su. Il y aura bien sûr un million de façons de le contourner (y compris -i), mais au moins vous devrez faire plus d'efforts pour exécuter un rootshell.
Alex Chamberlain

J'ai engendré un nouveau shell root parce que sudo ne vous donne pas tout à fait tous les privilèges et l'environnement de root. Je voulais m'assurer que l'utilisateur éditait vraiment la crontab de root. Cron est assez astucieux avec ses paramètres SHELL et PATH, donc je voulais une chose de moins qui pourrait mal tourner.
scruss

1
Non, le nouveau crontab est installé dès que vous quittez l'éditeur. Pour vérifier, faites crontab -l. Mais vraiment, je ne comprends toujours pas pourquoi vous devez redémarrer si souvent. Linux n'en a pas besoin, et à moins que vous ne testiez de nouveaux noyaux, vous pouvez garder le système en place. Mon serveur domestique fonctionne depuis 415 jours, se déplaçant avec bonheur sans problème.
scruss

5

Avez-vous essayé d'ajouter une entrée avec

 crontab -e

Il semble que vous n'ayez aucune entrée crontab et que le fichier ne soit donc pas créé.


2

J'espère que cela vous aidera.

sudo nano /etc/crontab -e

Dans le fichier, ajoutez une ligne

0 0 * * * root reboot

Je n'ai pas essayé mais j'espère que cela vous aidera.


Merci pour la réponse. Est-ce que cela redémarrera le système à minuit? Comment vais-je le régler pour une autre fois? Alors comme, ça redémarre à minuit, puis à 8h du matin? Merci :)!
Phorce

2
Ne modifiez pas directement / etc / crontab; utilisez les commandes crontab. C'est plus sûr.
scruss

sudo crontab -e
John La Rooy

sudo nano /etc/crontab -e: -eCela n'a aucun sens, selon la page de manuel de nano, il est "Ignoré, pour compatibilité avec Pico".
macrojames

oui merci d'avoir clarifié cela. Je viens de commencer avec Linux et je suis encore en phase d'apprentissage. Aussi d'après les autres articles que j'ai vus ici, il semble que ce soit une mauvaise idée de modifier directement la crontab.
SteveIrwin

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.