all:bibles:linux:crontab
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| all:bibles:linux:crontab [2024/11/20 11:47] – [Execution ne fonctionne pas sous cron] omeylhoc | all:bibles:linux:crontab [2025/01/28 16:42] (Version actuelle) – [You are not allowed to use this program (crontab)] omeylhoc | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Crontab ====== | ||
| + | ---- | ||
| + | |||
| + | ===== Edition ===== | ||
| + | |||
| + | ==== Editeur par défaut ==== | ||
| + | |||
| + | Le choix de l' | ||
| + | |||
| + | <code bash> | ||
| + | select-editor | ||
| + | </ | ||
| + | |||
| + | Vérification par la commande : | ||
| + | |||
| + | <code bash> | ||
| + | cat .selected_editor | ||
| + | </ | ||
| + | |||
| + | ==== Action sur la crontab ==== | ||
| + | |||
| + | ^ Commande | ||
| + | | crontab -l | visualisation de la crontab | ||
| + | | crontab -e | édition de la crontab | ||
| + | | crontab -r | suppression de la crontab | ||
| + | | crontab -e -u user | édition de la contab de l' | ||
| + | | sudo crontab -e | édition de la crontab root | | ||
| + | |||
| + | ==== Vérifier le service ==== | ||
| + | |||
| + | <code bash> | ||
| + | systemctl status cron | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Exemples ===== | ||
| + | |||
| + | ==== Tous les jours à 4h45 ==== | ||
| + | |||
| + | <code bash> | ||
| + | 45 4 * * * / | ||
| + | </ | ||
| + | |||
| + | ==== Tous les week-end à 4h50 ==== | ||
| + | |||
| + | <code bash> | ||
| + | 50 4 * * 6,7 / | ||
| + | </ | ||
| + | |||
| + | ==== Tous les 1er mai à 4h50 ==== | ||
| + | |||
| + | <code bash> | ||
| + | 50 4 1 5 * / | ||
| + | </ | ||
| + | |||
| + | ==== Toutes les 5 mn le soir entre 20h et 24h ==== | ||
| + | |||
| + | <code bash> | ||
| + | */5 20-23 * * * / | ||
| + | </ | ||
| + | |||
| + | ==== Au redémarrage de la machine ==== | ||
| + | |||
| + | === Juste après le redémarrage === | ||
| + | |||
| + | <code bash> | ||
| + | @reboot | ||
| + | </ | ||
| + | |||
| + | === 5 mn après le redémarrage === | ||
| + | |||
| + | <code bash> | ||
| + | @reboot | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
| + | |||
| + | ===== Modification sans éditeur ===== | ||
| + | |||
| + | ==== Localisation des fichiers ==== | ||
| + | |||
| + | Chaque fichier crontab porte le nom de l' | ||
| + | |||
| + | === Ubuntu === | ||
| + | |||
| + | Les fichiers se trouvent sous <color # | ||
| + | |||
| + | === Redhat/ | ||
| + | |||
| + | Les fichiers se trouvent sous <color # | ||
| + | |||
| + | ==== Création ==== | ||
| + | |||
| + | <code bash> | ||
| + | cat << tagFIN > nomdufichier | ||
| + | ... | ||
| + | ... | ||
| + | tagFIN | ||
| + | </ | ||
| + | |||
| + | taper les lignes au fur et à mesure en finissant par la dernière : tagFIN | ||
| + | |||
| + | ==== Ajout ==== | ||
| + | |||
| + | <code bash> | ||
| + | cat << tagFIN >> nomdufichier | ||
| + | ... | ||
| + | ... | ||
| + | tagFIN | ||
| + | </ | ||
| + | |||
| + | taper les lignes au fur et à mesure en finissant par la dernière : tagFIN | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Dépannage ===== | ||
| + | |||
| + | ==== You are not allowed to use this program (crontab) ==== | ||
| + | |||
| + | * Vérifier que l' | ||
| + | * Si nécessaire ajouter le nom de l' | ||
| + | |||
| + | ==== Envoi de mail ==== | ||
| + | |||
| + | Il est possible de positionner la variable MAILTO en début de crontab | ||
| + | |||
| + | <code bash> | ||
| + | MAILTO="" | ||
| + | MAILTO=" | ||
| + | </ | ||
| + | |||
| + | ==== Process zombie ==== | ||
| + | |||
| + | Pour éviter la présence de process zombie en cas d' | ||
| + | |||
| + | <code bash> | ||
| + | * * * * * / | ||
| + | </ | ||
| + | |||
| + | ==== Execution ne fonctionne pas sous cron ==== | ||
| + | |||
| + | Il arrive souvent qu'un script qui fonctionne parfaitement en interactif ne fonctionne plus quand on essaye de l' | ||
| + | |||
| + | === Variables d' | ||
| + | |||
| + | Lors de l' | ||
| + | |||
| + | * Indiquer le chemin complet pour faire appel à un programme | ||
| + | * Ajouter le chemin à la variable PATH dans la crontab | ||
| + | |||
| + | <code bash> | ||
| + | */5 20-23 * * * PATH=< | ||
| + | </ | ||
| + | |||
| + | === droits sudo === | ||
| + | |||
| + | Pour pouvoir utiliser la commande sudo dans un script exécuté sous cron il faut pouvoir utiliser la commande sans mot de passe (voir [[all: | ||
| + | |||
| + | ==== Investigations ==== | ||
| + | |||
| + | Pour debbuger un script sous cron ajouter des redirections de la console standard et d' | ||
| + | |||
| + | <code bash> | ||
| + | */5 20-23 * * * / | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | [[all: | ||
