« Cron » : différence entre les versions

De Wiki doc

Aucun résumé des modifications
Aucun résumé des modifications
Ligne 8 : Ligne 8 :
=Interaction avec les crontabs=
=Interaction avec les crontabs=
==Édition d'une crontab==
==Édition d'une crontab==
Une crontab est spécifique à un utilisateur. L'édition d'une crontab s'effectue via la commande
Une crontab est spécifique à un utilisateur. L'édition d'une crontab s'effectue via la commande :
  # crontab -e
  # crontab -e



Version du 10 janvier 2017 à 22:19

Cron est un programme qui permet aux utilisateurs des systèmes Unix d’exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l’avance ou selon un cycle défini à l’avance.

Installation

Cron est un outil très répandu, il est installé par défaut dans la plupart des distributions. Cependant, ce n'est pas toujours le cas (Debian via LXC par exemple). Voici le paquet à installer pour gérer les crontabs :

# apt install con

Interaction avec les crontabs

Édition d'une crontab

Une crontab est spécifique à un utilisateur. L'édition d'une crontab s'effectue via la commande :

# crontab -e

Lister une crontab

Pour l'utilisateur courant

# crontab -l

Pour un utilisateur donné

# crontab -u nom_utilisateur -l

Pour tout les utilisateurs du système

# for user in $(cut -f1 -d: /etc/passwd); do echo -e "\n\n==> $user:" && crontab -u $user -l; done

Syntaxe

Chaque ligne du fichier représente une tâche à exécuter au temps spécifier dans cette même ligne. Les paramètres de temps sont au nombre de 5+1 paramètre pour la commande à lancer.

Les paramètres sont les suivants et sont séparés par des espaces (leur ordre est important) :

  • mm : représente les minutes de 0 à 59
  • hh : représente l'heure (de 0 à 23)
  • jj : représente le jour du mois (de 1 à 31)
  • MM : représente le mois (de 1 à 12)
  • JJ : représente le jour de la semaine (0 représente le dimanche, 1 le lundi...)
  • Tâche : représente la commande ou le script shell à exécuter


La syntaxe du fichier cron (crontab) l'ordre suivant :

 #mm hh jj MM JJ Tâche
 #Pour une tâche qui s’exécute toute les minutes de tous les jours de l'année :
 * * * * * /root/script.sh
 #Pour une tâche qui s'exécute toute les 5 minutes de tous les jours de l'année :
 */5 * * * * /root/script.sh
 #Planifier une tâche à 12 heure du lundi au vendredi de toute les semaines de l'année
 00 12 * * 1-5 date >> /root/visudate.log

Sources

http://manpagesfr.free.fr/man/man5/crontab.5.html

http://blogmotion.fr/systeme/list-cron-job-all-users-4395