logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

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
doc:systeme:crontab [06/03/2014 20:24]
kao Correction liens mort plus mise en page
doc:systeme:crontab [10/03/2022 16:39] (Version actuelle)
Yal [Syntaxe des lignes des tables crontab]
Ligne 1: Ligne 1:
 ====== CRONTAB ====== ====== CRONTAB ======
- * Objet : Lancer une tache automatiquement à l'aide de cron +  ​* Objet : Lancer une tache automatiquement à l'aide de cron 
-  * Niveau requis : {{tag>​avisé}} +  * Niveau requis :​{{tag>​avisé}} 
-  * Commentaires :  +  * Commentaires : //​Fonctionnement et syntaxe//
-  * À savoir : +
   * Suivi : {{tag>}}   * Suivi : {{tag>}}
-    * Création par **smolki** 13/​05/​2010 +    * Création par [[user>smolki]] le 13/​05/​2010 
-    * Testé par <...> le <...> FIXME+    * 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 !))
  
  
-Fonctionnement et syntaxe+ 
  
 ===== 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 29: 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 56: 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 63: 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 étoileles 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 81: 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: =====
doc/systeme/crontab.1394133888.txt.gz · Dernière modification: 06/03/2014 20:24 par kao

Pied de page des forums

Propulsé par FluxBB