Outils pour utilisateurs

Outils du site


linux:crontab (lu 34254 fois)

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:crontab [09-11-2009 11:11]
edmc73 créée
linux:crontab [27-03-2017 09:51] (Version actuelle)
edmc73 [Editer le cron]
Ligne 1: Ligne 1:
-=====CronTab=====+======CronTab======
  
 Juste un petit mémo. Juste un petit mémo.
 +
 +===== Notation =====
 +
 +  minute heure jour(1-31) mois(1-12) journée(0=dimanche, 1=lundi ... 6=samedi, 7=dimanche)
 +
 +  * * : à chaque unité
 +  * 5,8 : les unités 5 et 8
 +  * 2-5 : les unités de 2 à 5
 +  * */3 : toutes les 3 unités
 +  * 10-20/3 : toutes les 3 unités, entre la dixième et la vingtième (10, 13, 16, 19)
 +
 +Raccourcis
 +
 +  * @reboot
 +  * @yearly ou @annually
 +  * @monthly
 +  * @weekly
 +  * @daily
 +  * @midnight
 +  * @hourly
 +
 +===== Mail =====
  
 Le cron envoie des mails au propriétaire de la commande lorsqu'une tache génère du texte en sortie standard. Le cron envoie des mails au propriétaire de la commande lorsqu'une tache génère du texte en sortie standard.
Ligne 10: Ligne 32:
  
   MAILTO=toto@domain.com   MAILTO=toto@domain.com
 +
 +===== Editer le cron =====
 +
 +La commande suivante permet d'éditer le cron
 +  crontab -e
 +  
 +La commande suivante permet d'afficher le contenu du cron
 +  crontab -l
 +
 +==== Editeur par défaut ====  
 +Par défaut, le cron s'éditait avec vim, mais de nos jours il s'édite avec NANO ...
 +En faite, cron utilise la variable $EDITOR. En 1er lieu, essayez la méthode classique :
 +
 +<code>
 +$ update-alternatives --config editor
 +Il existe 4 choix pour l'alternative editor (qui fournit /usr/bin/editor).
 +
 +  Sélection   Chemin              Priorité  État
 +------------------------------------------------------------
 +  0            /bin/nano            40        mode automatique
 +  1            /bin/ed             -100       mode manuel
 +  2            /bin/nano            40        mode manuel
 +  3            /usr/bin/vim.basic   30        mode manuel
 +* 4            /usr/bin/vim.tiny    10        mode manuel
 +
 +Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :
 +</code>
 +
 +Sinon essayez cette méthode ou il suffit de recréer le lien pour remettre **vim** comme éditeur.
 +  rm /etc/alternatives/editor
 +  ln -s /usr/bin/vim /etc/alternatives/editor
 +
 +Si ça ne marche toujours pas, ajoutez dans votre **~/.bash_profile** ceci
 +  export EDITOR=vim
 +
 +===== Sortie .. =====
 +
 +Pour ne pas recevoir de message par mail ou dans les logs la sortie standard d'un script, il suffit d'ajouter **> /dev/null**
 +
 +  00 22 * * * /home/users/script > /dev/null
 +
 +
 +La méthode précédente laisse passer la sortie d'erreur dans les log.
 +
 +Si vous ne voulez pas non plus avoir de trace d'erreur, ajouter **2>&1** qui permet de rediriger la sortie d'erreur sur la sortie standard qui elele même sera redirigé vers le néant.
 +
 +  00 22 * * * /home/users/script > /dev/null 2>&1
 +  
 +  
 +Si ne voulez que les erreurs dans un log, redirigé la sortie d'erreur dans un fichier de log
 +
 +  00 22 * * * /home/users/script > /dev/null 2> /var/log/fichier.log
 +
 +===== Variable =====
 +
 +Pour passer la date dans un nom de fichier à créer
 +
 +  * * * * * /bin/echo `date +\%Y\%m\%d_\%H\%M\%S` >> /tmp/crontab.log
 +
 +Notez que les **%** sont échappés par un **\**
 +
 +Sinon on peut définir une variable
 +
 +  DATEVAR=date +%Y%m%d_%H%M%S
 +  * * * * * /bin/echo $($DATEVAR) >> /tmp/crontab.log
 +
 +
 +
 +
 +  
linux/crontab.1257761469.txt.gz · Dernière modification: 04-04-2013 22:05 (modification externe)