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.

Phorce
la source
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.

scruss
la source
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éé.

elomage
la source
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.

SteveIrwin
la source
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