Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 | ||
doc:systeme:crontab [24/05/2015 17:32] milou [CRONTAB] |
doc:systeme:crontab [10/03/2022 16:39] Yal [Syntaxe des lignes des tables crontab] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
* Niveau requis :{{tag>avisé}} | * Niveau requis :{{tag>avisé}} | ||
* Commentaires : //Fonctionnement et syntaxe// | * Commentaires : //Fonctionnement et syntaxe// | ||
- | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
* Suivi : {{tag>}} | * Suivi : {{tag>}} | ||
* Création par [[user>smolki]] le 13/05/2010 | * Création par [[user>smolki]] le 13/05/2010 | ||
- | * Testé par **Kao** le 06/03/2014 | + | * Testé par [[user>Kao]] le 06/03/2014 |
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=2575 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?id=2575 | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
Ligne 14: | Ligne 13: | ||
===== Le service cron ===== | ===== Le service cron ===== | ||
+ | |||
+ | {{/file-R8f8dee23a289f272b42ba50abbb33892.png}} | ||
* Il est chargé de faire exécuter par le système toutes tâches (commandes et scripts) définies et planifiées à l'avance (cron vient de chronos, le dieu du temps !) | * Il est chargé de faire exécuter par le système toutes tâches (commandes et scripts) définies et planifiées à l'avance (cron vient de chronos, le dieu du temps !) | ||
- | * Ces tâches, allant de la simple commande aux scripts complexes, peuvent ainsi être exécutées à heure fixe et même de façon périodique, et fait l'objet de messages de compte-rendu. | + | * Ces tâches, allant de la simple commande aux scripts complexes, peuvent ainsi être exécutées à heure fixe et même de façon périodique, et font l'objet de messages de compte-rendu. |
- | * La commande /usr/bin/crontab permet cette programmation. Son usage est en principe réservée à root. On peut toutefois autoriser certains utilisateurs. Pour cela on en dresse la liste sur des lignes successives dans le fichier ''/etc/crond.allow'', et de façon symétrique, on peut mettre dans ''/etc/crond.deny'' la liste des utilisateurs non autorisés. | + | * La commande /usr/bin/crontab permet cette programmation. Son usage est en principe réservé à root. On peut toutefois autoriser certains utilisateurs. Pour cela on en dresse la liste sur des lignes successives dans le fichier ''/etc/crond.allow'', et de façon symétrique, on peut mettre dans ''/etc/crond.deny'' la liste des utilisateurs non autorisés. |
Exemple : seuls jean et toto ont la permission d'utiliser le service crontab | Exemple : seuls jean et toto ont la permission d'utiliser le service crontab | ||
Ligne 30: | Ligne 31: | ||
On peut le lancer ou l'arrêter avec : | On peut le lancer ou l'arrêter avec : | ||
- | <code root>service cron stop</code> | + | <code root>systemctl stop cron</code> |
- | <code root>service cron start</code> | + | <code root>systemctl start cron</code> |
Il lit toutes les minutes les fichiers présents dans le répertoire ''/var/spool/cron'' ainsi que le fichier ''/etc/crontab'', pour voir si des tâches doivent être exécutées. \\ | Il lit toutes les minutes les fichiers présents dans le répertoire ''/var/spool/cron'' ainsi que le fichier ''/etc/crontab'', pour voir si des tâches doivent être exécutées. \\ | ||
Ligne 57: | Ligne 58: | ||
Lors de la sauvegarde, le fichier est écrit dans ''/var/spool/cron/$USER'', où ''$USER'' est le nom de login de l'utilisateur. | Lors de la sauvegarde, le fichier est écrit dans ''/var/spool/cron/$USER'', où ''$USER'' est le nom de login de l'utilisateur. | ||
+ | <note>Sur Stretch, les crontab des user sont dans ''/var/spool/cron/crontabs'' à lister en root</note> | ||
<note>Pour éditer ce fichier avec votre éditeur préféré, par exemple vim, il faut éditer la variable EDITOR, à mettre cette ligne dans votre //shell// tel que bashrc, zshrc etc. | <note>Pour éditer ce fichier avec votre éditeur préféré, par exemple vim, il faut éditer la variable EDITOR, à mettre cette ligne dans votre //shell// tel que bashrc, zshrc etc. | ||
Ligne 64: | Ligne 66: | ||
Chaque ligne du fichier contient 6 champs. | Chaque ligne du fichier contient 6 champs. | ||
- | Les 5 premières déterminent, indiqués par une étoile les moments d'exécution de la tâche décrite au 6ème champ. | + | Les 5 premières déterminent, indiqués par une étoile, les moments d'exécution de la tâche décrite au 6ème champ. |
les 5 premiers, indiqués par des étoiles (*) séparées par des espaces, sont appelés ''champs temporels'', décrivent la périodicité : | les 5 premiers, indiqués par des étoiles (*) séparées par des espaces, sont appelés ''champs temporels'', décrivent la périodicité : | ||
Ligne 82: | Ligne 84: | ||
==== Exemples ==== | ==== Exemples ==== | ||
- | Exécution chaque 1er et 15 de chaque mois à minuit: | ||
- | <code>0 0 1,15 * * <commande></code> | ||
- | Provoquer un reboot la machine chaque 1er et 15 du mois à 2h 30 du matin: | + | Exécution chaque 1er et 15 de chaque mois à minuit : |
- | <code>30 2 1,15 * * /sbin/shutdown -r</code> | + | <file actionscrip crontab>0 0 1,15 * * <commande></file> |
- | Appeler un script de sauvegarde tous les lundis a 3 h 15 du matin: | + | Provoquer un reboot la machine chaque 1er et 15 du mois à 2h 30 du matin : |
- | <code>15 3 * * 1 /usr/bin/backup</code> | + | <file actionscript crontab>30 2 1,15 * * /sbin/shutdown -r</file> |
- | Exécution toutes les 15 minutes de la <commande>: | + | Appeler un script de sauvegarde tous les lundis a 3 h 15 du matin : |
- | <code>*/15 * * * * <commande></code> | + | <file actionscript crontab>15 3 * * 1 /usr/bin/backup</file> |
- | Exécution toutes les heures passées 15 minutes: | + | Appeler un script de sauvegarde tous les mardis à 3 h du matin : |
- | <code>15 * * * * <commande></code> | + | <file actionscript crontab>0 3 * * 2 /usr/bin/backup</file> |
+ | Si on laisse l'étoile des minutes, : ''* 3 * * 1'' le script va se lancer toutes les minutes de l'heure 3... \\ | ||
+ | Merci à l'amicale vigilance du **captnfab**, le Zorro des redresseur d'erreurs du wiki qui m'a indiqué cela ! 8-) | ||
- | Exécution tous les matins du lundi au vendredi à 7 h 30: | + | Exécution toutes les 15 minutes de la <commande> : |
- | <code>30 7 * * 1-5 <commande></code> | + | <file actionscript crontab>*/15 * * * * <commande></file> |
- | Exécution tous les quarts d'heure de 15h à 19h du lundi au vendredi seulement en 1ère quinzaine du troisième trimestre: | + | Exécution toutes les heures passées 15 minutes : |
- | <code>0,15,30,45 15-19 1-15 7-9 1-5 <commande></code> | + | <file actionscript crontab>15 * * * * <commande></file> |
+ | |||
+ | Exécution tous les matins du lundi au vendredi à 7 h 30 : | ||
+ | <file actionscript crontab>30 7 * * 1-5 <commande></file> | ||
+ | |||
+ | Exécution tous les quarts d'heure de 15h à 19h du lundi au vendredi seulement en 1ère quinzaine du troisième trimestre : | ||
+ | <file actionscript crontab>0,15,30,45 15-19 1-15 7-9 1-5 <commande></file> | ||
| | ||
- | Trouver puis nettoyer le répertoire /tmp des vieux fichiers (non modifiés depuis 31 jours) tous les 1er jour de chaque mois, à 2 heures du matin: | + | Trouver puis nettoyer le répertoire /tmp des vieux fichiers (non modifiés depuis 31 jours) tous les 1er jour de chaque mois, à 2 heures du matin : |
- | <code>0 2 1 * * find /tmp -atime 31 -exec rm -f {} \;</code> | + | <file actionscript crontab>0 2 1 * * find /tmp -atime 31 -exec rm -f {} \;</file> |
+ | |||
+ | Faire apparaitre un message dans la GUI d'un utilisateur à une heure précice | ||
+ | <file actionscript crontab>50 18 * * * export DISPLAY=localhost:0.0; xhost + | zenity --info --text="Reboot de l'ordinateur dans 10min, penser à faire vos sauvegardes"</file> | ||
+ | |||
+ | ===== Liens vers le forum df ===== | ||
+ | |||
+ | * [[https://debian-facile.org/viewtopic.php?id=14414|Crontab - lancer une tache une seule fois]] | ||
===== Liens: ===== | ===== Liens: ===== |