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
Prochaine révision Les deux révisions suivantes
doc:systeme:crontab [18/09/2013 22:25]
smolski [Fonctionnement]
doc:systeme:crontab [17/06/2016 08:58]
smolski [Lien vers le forum df]
Ligne 1: Ligne 1:
 ====== CRONTAB ====== ====== CRONTAB ======
 +  * Objet : Lancer une tache automatiquement à l'aide de cron
 +  * Niveau requis :​{{tag>​avisé}}
 +  * Commentaires : //​Fonctionnement et syntaxe//
 +  * Suivi : {{tag>}}
 +    * Création par [[user>​smolki]] le 13/05/2010
 +    * 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 !))
  
-Fonctionnement et syntaxe 
  
-===== Le service ​crond =====+ 
 + 
 + 
 +===== Le service ​cron =====
  
   * 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 !)
Ligne 10: Ligne 19:
  
 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
 +<code user>cat /​etc/​crond.allow</​code>​
 <file crontab /​etc/​crond.allow>​ <file crontab /​etc/​crond.allow>​
-# ll cron.allow 
 jean jean
 toto</​file>​ toto</​file>​
Ligne 20: Ligne 29:
  
 On peut le lancer ou l'​arrêter avec : On peut le lancer ou l'​arrêter avec :
-<file root> +<code root>​service ​cron stop</code>
-service ​crond start</file>+
  
-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. +<code root>​service ​cron start</code>
- +
-Chaque action de crond ajoute une ligne de message dans le fichier ''/​var/​log/​cron'',​ qu'il faut purger de temps en temps ... par une commande crontab !+
  
 +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. \\
 +Chaque action de crond ajoute une ligne de message dans le fichier ''/​var/​log/​cron'',​ qu'il faut purger de temps en temps ... par une commande crontab ! \\
 Par défaut si une commande produit un affichage, il est dirigé vers la messagerie. Par défaut si une commande produit un affichage, il est dirigé vers la messagerie.
  
Ligne 35: Ligne 43:
 ==== Options : ==== ==== Options : ====
  
-<file user>​crontab -l</file>+<code user>​crontab -l</code>
 affiche le fichier crontab de l'​utilisateur affiche le fichier crontab de l'​utilisateur
 +<note warning><​code user>​crontab -r</​code>​
 +efface ce fichier ; attention aucune demande de confirmation</​note>​
  
-<file user>​crontab -r</​file>​ +<code user>​crontab -l -u jean</code>
-efface ce fichier +
- +
-<​file ​user>​crontab -l -u jean</file>+
 root examine le fichier crontab de l'user jean root examine le fichier crontab de l'user jean
  
-<file user>​crontab -e</file+<code user>​crontab -e</code
-crée ou édite (pour modification) un fichier temporaire dans [[manuel:​tmp | /tmp]] ouvert dans votre éditeur en ligne de commande par défaut.+crée ou édite (pour modification) un fichier temporaire dans ''​/tmp'' ​ouvert dans votre éditeur en ligne de commande par défaut.
  
 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>​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.
 +<code user>​export EDITOR=/​usr/​bin/​vim</​code></​note>​
 ===== Syntaxe des lignes des tables crontab ===== ===== Syntaxe des lignes des tables crontab =====
  
Ligne 71: Ligne 81:
  
 ==== Exemples ==== ==== Exemples ====
 +Exécution chaque 1er et 15 de chaque mois à minuit:
 +<​code>​0 0 1,15 * * <​commande></​code>​
  
-<file bash /​etc/​cron.d/​bimensuel>​ +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>
-0 0 1,15 * * <​commande></​file>​ +
- +
-<file bash /​etc/​cron.d/​reboot-auto>​ +
-# provoquer ​un reboot la machine chaque 1er et 15 du mois à 2h 30 du matin +
-30 2  1,15 * * /​sbin/​shutdown -r</file>+
  
-<file bash /​etc/​cron.d/​sauvegarde-hebdo>​ +Appeler ​un script de sauvegarde tous les lundis a 3 h 15 du matin: 
-# appeler ​un script de sauvegarde tous les lundis a 3 h 15 du matin +<​code>​15  3  *  * 1 /​usr/​bin/​backup</​code>
-15  3  *  * 1 /​usr/​bin/​backup</​file>+
  
-<file bash /​etc/​cron.d/​commande-mn>​ +Exécution ​toutes les 15 minutes de la <​commande>​: 
-# exécution ​toutes les 15 minutes de la <​commande>​ +<​code>​*/15 * * * *  <​commande></​code>
-*/15 * * * *  <​commande></​file>+
  
-<file bash /​etc/​cron.d/​commande-h>​ +Exécution ​toutes les heures passées 15 minutes: 
-# exécution ​toutes les heures passées 15 minutes +<​code>​15 * * * * <​commande></​code>
-15 * * * * <​commande></​file>+
  
-<file bash /​etc/​cron.d/​commande-matin>​ +Exécution ​tous les matins du lundi au vendredi à 7 h 30: 
-#  exécution ​tous les matins du lundi au vendredi à 7 h 30 +<​code>​30 7 * * 1-5 <​commande></​code>
-30 7 * * 1-5 <​commande></​file>+
  
-<file bash /​etc/​cron.d/​commande-horaire>​ +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 ​tous les quarts d'​heure de 15h à 19h du lundi au vendredi +<​code>​0,​15,​30,​45 ​ 15-19  1-15  7-9  1-5 <​commande></​code>
- ​seulement en 1ère quinzaine du troisième trimestre +
-0,​15,​30,​45 ​ 15-19  1-15  7-9  1-5 <​commande></​file>+
       ​       ​
-<file bash /​etc/​cron.d/​nettoyage-tmp>​ +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 +<​code>​0 2 1 * * find /tmp -atime 31 -exec rm -f {} \;</code>
-#  ​depuis 31 jours) tous les 1er jour de chaque mois, à 2 heures du matin +
-0 2 1 * * find /tmp -atime 31 -exec rm -f {} \;</file>+
  
 +===== Liens vers le forum df =====
  
-===== Source ​: =====+  * [[https://​debian-facile.org/​viewtopic.php?​id=14414|Crontab - lancer une tache une seule fois]]
  
-  * http://​www.ac-creteil.fr/​reseaux/​systemes/​linux/​cron.html+===== Liens=====
  
-Une de mes premières et meilleures références pour l'​administration et le réseau en français ! :-)+  *Article Wikipedia avec de nombreux exemples (frhttp://​fr.wikipedia.org/​wiki/​Crontab
  
doc/systeme/crontab.txt · Dernière modification: 10/03/2022 16:39 par Yal

Pied de page des forums

Propulsé par FluxBB