Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
cron [Le 18/11/2019, 12:07] 90.85.188.81 Erreur dans la commande de mise à jour |
cron [Le 17/04/2020, 14:26] krodelabestiole [Autres Considérations] path |
||
---|---|---|---|
Ligne 129: | Ligne 129: | ||
Remarque : cette commande édite directement le fichier // /var/spool/cron/crontabs/<utilisateur>// (avec ici root comme utilisateur). | Remarque : cette commande édite directement le fichier // /var/spool/cron/crontabs/<utilisateur>// (avec ici root comme utilisateur). | ||
- | Selon les commandes à exécuter, vous devrez changer la variable //PATH// des utilisateurs ayant les droits //root// en mettant la ligne suivante au dessus de leurs fichiers **crontab** : | ||
- | |||
- | <code> | ||
- | PATH=/usr/sbin:/usr/bin:/sbin:/bin | ||
- | </code> | ||
- | |||
- | |||
- | Il est aussi important de noter que le fichier **crontab** de l'utilisateur système ''root'' peut être édité avec l'instruction | ||
- | <code> sudo crontab -e </code>. | ||
Dans ce cas il ne faut pas préciser l'utilisateur sinon ''root'' est compris comme une instruction à exécuter et il ne se passera rien. | Dans ce cas il ne faut pas préciser l'utilisateur sinon ''root'' est compris comme une instruction à exécuter et il ne se passera rien. | ||
* Bon : <code>@midnight /sbin/shutdown -r now></code> | * Bon : <code>@midnight /sbin/shutdown -r now></code> | ||
Ligne 143: | Ligne 134: | ||
(Vérifié avec ubuntu-server 14.04.1, xubuntu 14.04.1 et xubuntu 16.0.1) | (Vérifié avec ubuntu-server 14.04.1, xubuntu 14.04.1 et xubuntu 16.0.1) | ||
+ | |||
+ | |||
+ | <note important> | ||
+ | Une tâche cron est exécutée dans un shell non connecté (non-login) et non interactif. Les variables d'environnement habituelles et en particulier PATH ne sont pas connues. | ||
+ | |||
+ | Il faut donc soit mettre les emplacements complets des exécutables dans les commandes et les scripts appelés par cron, soit définir PATH dans le fichier crontab : | ||
+ | <code> | ||
+ | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | ||
+ | </code> | ||
+ | </note> | ||
Il est important de vérifier que vos travaux dans **cron** fonctionnent comme prévu. Une méthode pour faire un test est de paramétrer le travail dans la **crontab** pour qu'il se fasse quelques minutes plus tard et de vérifier les résultats, avant de mettre la synchronisation de cette tâche à la bonne heure. Vous pouvez également trouver utile de mettre les résultats des commandes dans un fichier texte qui notent les succès ou les échecs, par exemple : | Il est important de vérifier que vos travaux dans **cron** fonctionnent comme prévu. Une méthode pour faire un test est de paramétrer le travail dans la **crontab** pour qu'il se fasse quelques minutes plus tard et de vérifier les résultats, avant de mettre la synchronisation de cette tâche à la bonne heure. Vous pouvez également trouver utile de mettre les résultats des commandes dans un fichier texte qui notent les succès ou les échecs, par exemple : | ||
Ligne 180: | Ligne 181: | ||
* [[:Anacron]] : planificateur de commande « anachronique » | * [[:Anacron]] : planificateur de commande « anachronique » | ||
* [[fcron]] : programmer des tâches devant être exécutées/ | * [[fcron]] : programmer des tâches devant être exécutées/ | ||
+ | * [[https://askubuntu.com/questions/23009/why-crontab-scripts-are-not-working|why crontab scripts are not working?]] | ||
---- | ---- | ||
//Contributeurs : Martigo, [[:contributeurs|Les contributeurs d'Ubuntu-fr]], l'entreprise Simplistay.// | //Contributeurs : Martigo, [[:contributeurs|Les contributeurs d'Ubuntu-fr]], l'entreprise Simplistay.// |