Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cron [Le 13/07/2019, 07:08]
86.194.55.172 [Autres Considérations] lien
cron [Le 17/04/2020, 14:26] (Version actuelle)
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 169: Ligne 170:
 pour modifier crontab directement (par un script par exemple) ​ pour modifier crontab directement (par un script par exemple) ​
 <​code>​ <​code>​
-crontab ​<​(crontab -l ; echo "0 * * * * echo plop")+crontab <​(crontab -l ; echo "0 * * * * echo plop")
 </​code> ​ </​code> ​
  
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.//​
  • cron.1562994487.txt.gz
  • Dernière modification: Le 13/07/2019, 07:08
  • par 86.194.55.172