Différences
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 | ||
cron [Le 03/05/2023, 12:10] 81.185.162.136 [Qu'est-ce que Cron] |
cron [Le 19/08/2024, 06:49] (Version actuelle) 86.202.209.181 [Distinction avec Anacron] syntaxe |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
[[Anacron]] est plutôt utilisé pour des machines à fonctionnement discontinu (comme les PC). | [[Anacron]] est plutôt utilisé pour des machines à fonctionnement discontinu (comme les PC). | ||
- | En effet, cron lance une tâche à un moment pré-déterminé (« le 14 janvier 2018 à 15h 30 »). Si la machine n'est pas allumée, la tâche n'est pas lancée, et ne le sera jamais, même après le re-démarrage. Elle est perdue. | + | Cron a plus d'options qu'Anacron. Comme ce dernier, il peut lancer une tâche à un intervalle déterminé : par exemple chaque 5e jour de la semaine, chaque heure, ou chaque mois. Contrairement à Anacron, il peut aussi lancer une tâche à un moment pré-déterminé (« le 14 janvier 2018 à 15h 30 »). Limite par rapport à Anacron : si la machine n'est pas allumée, la tâche n'est pas lancée, et ne le sera jamais, même après le re-démarrage. __Elle est perdue__. Les prochaines seront évidement lancées, si la machine est allumée. |
- | [[Anacron]] utilise au contraire des indications de temps relatives (« une fois par jour / par semaine / par mois »). Si vous avez demandé une tâche toute les semaines, et que votre PC est démarré seulement au bout de 10 jours, anacron constatera le retard, et lancera donc la tâche juste après le démarrage de votre PC. | + | [[Anacron]] n'utilise que des indications de temps relatives (« une fois par jour / par semaine / par mois »). Autre différence d'avec Cron, Si vous avez demandé une tâche toute les semaines, et que votre PC est démarré seulement au bout de 10 jours, Anacron constatera le retard, et lancera donc la tâche juste après le démarrage de votre PC. |
+ | Les 2 logiciels peuvent être utilisés sur un PC régulièrement éteint, mais Anacron a le gros avantage de lancer tous les traitements en retard à chaque allumage du PC, même si ceux-ci sont peu nombreux. Avec Cron, des allumages PC trop intermittents risquent d'annuler une grande partie des traitements programmés. | ||
+ | |||
+ | La syntaxe de cron est plus complexe que celle d'anacron. | ||
===== Comment fonctionne Cron ===== | ===== Comment fonctionne Cron ===== | ||
Ligne 26: | Ligne 29: | ||
Voici une courte description de la structure d'une entrée dans un fichier crontab. Les champs à renseigner sont __dans l'ordre__ (un champ qu'on ne souhaite pas renseigner doit être rempli avec une *) : | Voici une courte description de la structure d'une entrée dans un fichier crontab. Les champs à renseigner sont __dans l'ordre__ (un champ qu'on ne souhaite pas renseigner doit être rempli avec une *) : | ||
- | * //minute// (les minutes se numérotent de 0 à 59) | + | * //minute// de lancement (les minutes se numérotent de 0 à 59) |
- | * //heure// (les heures se numérotent de 0 à 23) | + | * //heure// de lancement (les heures se numérotent de 0 à 23) |
- | * //jours dans le mois// (les jours se numérotes de 1 à 31) | + | * //jours dans le mois// de lancement (les jours se numérotes de 1 à 31) |
- | * //mois// (les mois se numérotent de 1 à 12, ou s'énoncent par leur libellé abrégé anglais - jan ; feb ; mar ; apr ; ...) | + | * //mois// de lancement (les mois se numérotent de 1 à 12, ou s'énoncent par leur libellé abrégé anglais - jan ; feb ; mar ; apr ; ...) |
- | * //jour de la semaine// (les jours se numérotent de 1 (lundi) à 7 (dimanche), ou s'énoncent par leur libellé abrégé anglais - sun ; mon ; tue ; wed ; thu ; fri ; sat) | + | * //jour de la semaine// de lancement (les jours se numérotent de 1 (lundi) à 7 (dimanche), ou s'énoncent par leur libellé abrégé anglais - sun ; mon ; tue ; wed ; thu ; fri ; sat) |
* La commande à lancer. | * La commande à lancer. | ||
Ligne 69: | Ligne 72: | ||
* @midnight | * @midnight | ||
* @hourly | * @hourly | ||
+ | |||
+ | Exemples de lancements de tâches : | ||
+ | |||
+ | chaque demie-heure (***/30** est une instruction, pas deux) | ||
+ | <code>*/30 * * * * commande</code> | ||
+ | |||
+ | chaque heure, au début de l'heure (0 minute au démarrage de l'heure) : | ||
+ | <code>0 * * * * commande</code> | ||
+ | chaque heure, à la 30e minute de l'heure : | ||
+ | <code>30 * * * * commande</code> | ||
+ | |||
+ | chaque heure, mais uniquement entre 9h00 et 5h00 | ||
+ | <code>0 9-5 * * * commande</code> | ||
Cf. aussi : | Cf. aussi : | ||
man 5 crontab | man 5 crontab | ||
- | |||
Ligne 82: | Ligne 97: | ||
===== Commandes pour gérer les tâches planifiées Cron ===== | ===== Commandes pour gérer les tâches planifiées Cron ===== | ||
- | Pour examiner les tâches planifiées de l'utilisateur courant (le contenu de votre **crontab**, tapez : | + | Pour examiner les tâches planifiées de l'utilisateur courant (le contenu de votre **crontab**), tapez : |
<code bash> | <code bash> |