Fix sommaire

This commit is contained in:
whirigoyen 2022-02-15 11:33:50 +01:00
parent e752bec40b
commit 99c4fd1fdb

View file

@ -7,7 +7,7 @@ title: Howto Cron
Le service **cron** (diminutif de *crontab*, pour **c**h**ron**o **tab**le) est le planificateur de tâches standard sur les systèmes UNIX/Linux. Il permet le déclenchement de commandes à des dates récurrentes (à la minute près).
## Installation
# Installation
En général le paquet **cron** est installé et le service tourne déjà :
@ -21,7 +21,7 @@ En général le paquet **cron** est installé et le service tourne déjà :
└─492 /usr/sbin/cron -f
~~~
## Configuration
# Configuration
La configuration se trouve dans le fichier `/etc/crontab` :
@ -48,9 +48,9 @@ On trouve notamment des dates fixées pour les actions définies dans les réper
On peut également modifier certaines options via le fichier `/etc/default/cron`, notamment la journalisation : par défaut `-L 5` enregistre le démarrage de chaque cron et les éventuelles erreurs, on peut passer à `-L 15` pour avoir un maximum d'informations notamment la date de fin de chaque cron.
## Utilisation
# Utilisation
### /etc/cron.{hourly,daily,weekly,monthly}/ et /etc/cron.d/
## /etc/cron.{hourly,daily,weekly,monthly}/ et /etc/cron.d/
Pour lancer un script en tant que _root_ à une date fixée par le système, il suffit de le rendre exécutable et de le placer dans l'un des répertoires `/etc/cron.{hourly,daily,weekly,monthly}/` en fonction de la fréquence souhaitée.
@ -65,7 +65,7 @@ Pour une fréquence personnalisée, on peut utiliser le répertoire `/etc/cron.d
> **Attention** : Les noms de scripts contenant des points sont ignorés par cron. On pourra par exemple utiliser cette particularité pour désactiver un script, en ajoutant .old ou .disabled à la fin de son nom.
### crontab -e
## crontab -e
Pour ajouter un cron manuellement, on conseille d'utiliser la commande :
@ -116,7 +116,7 @@ Pour supprimer tous les crons en place, on peut utiliser `crontab -r`… mais c'
Pour plus de détails sur l'utilisation de la commande `crontab` en tant qu'utilisateur, voir [HowtoCrontab](), et pour des recommandations sur l'écriture de scripts à mettre en crontab voir [TipsDevWeb#scripts-en-crontab]().
#### variables
### variables
Plusieurs variables peuvent être utilisées dans une crontab :
@ -137,13 +137,13 @@ MAILTO=alert@example.com
@weekly /usr/local/bin/security-check
~~~
#### /var/spool/cron/crontabs/
### /var/spool/cron/crontabs/
Les crons positionnés avec `crontab -e` sont stockés dans le répertoire `/var/spool/cron/crontabs/`
C'est notamment utile pour réaliser des sauvegardes des crons lancés sur un serveur.
## log2mail
# log2mail
On peut ajouter la configuration suivante au logiciel log2mail pour détecter d'éventuelles erreurs de syntaxe :
@ -154,17 +154,17 @@ file = /var/log/cron.log
~~~
## FAQ
# FAQ
### Peut-on écrire un cron dans /etc/crontab ?
## Peut-on écrire un cron dans /etc/crontab ?
Si vous ajoutez une ligne de cron dans `/etc/crontab` elle sera exécutée en _root_ : mais nous déconseillons fortement cette utilisation car ce fichier de configuration doit rester intact autant que possible, en général il faut éviter de lancer un cron en tant que _root_ et enfin la moindre erreur de syntaxe va provoquer le non lancement de tous les autres scripts !
### Changement d'heure
## Changement d'heure
En France, lors d'un changement d'heure d'été ou d'hiver, on peut imaginer qu'un script lancé entre 2h et 3h du matin se lancera deux fois ou zéro fois selon les cas. Mais sous Debian, lorsque *cron* détecte un saut important dans l'heure locale, il va prévenir ce comportement en lançant les crons qu'une seule fois (passage à l'heure d'hiver) ou juste après le changement d'heure (passage à l'heure d'été). Par précaution, nous évitons tout de même de mettre des crons entre 2h et 3h du matin.
### Échappement de caractères
## Échappement de caractères
Prenons l'exemple d'une copie horodatée de /etc chaque heure :