From 2cd5a2a6f979ab538694ec622f6d8c0b50ad1c4d Mon Sep 17 00:00:00 2001 From: gcolpart Date: Sun, 18 Jun 2017 04:30:26 +0200 Subject: [PATCH] relecture en cours --- HowtoCron.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/HowtoCron.md b/HowtoCron.md index f74eba39..15c20865 100644 --- a/HowtoCron.md +++ b/HowtoCron.md @@ -1,9 +1,48 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +--- +categories: sysadmin web +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 + +En général le paquet **cron** est installé et le service tourne déjà : + +~~~ +# systemctl status cron +● cron.service - Regular background program processing daemon + Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled) + Active: active (running) since Thu 2017-05-18 14:37:27 CEST; 1 months 0 days ago + Docs: man:cron(8) + Main PID: 492 (cron) + CGroup: /system.slice/cron.service + └─492 /usr/sbin/cron -f +~~~ + +## Configuration + +La configuration se trouve dans le fichier `/etc/crontab` : + +~~~ +SHELL=/bin/sh +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +17 * * * * root cd / && run-parts --report /etc/cron.hourly +25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) +47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) +52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) +~~~ + +On trouve notamment des dates fixées pour les actions définies dans les répertoires `/etc/cron.{hourly,daily,weekly,monthly}`. + +Nous conseillons de modifier ces horaires fixes, pour éviter des déclenchements simultanés à la même minute sur plusieurs serveurs. + +On peut également modifier certaines options via le fichier `/etc/default/cron`, notamment la journalisation : par défaut `-L 5` enregistrement 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 d'une commande. -## Howto Cron +## Utilisation -Le programme cron est le planificateur de tâches standards sur systèmes UNIX. ### Détection d'erreurs @@ -13,4 +52,31 @@ On peut ajouter la configuration suivante au logiciel log2mail pour détecter d' file = /var/log/cron.log pattern = "Error" mailto = root -~~~ \ No newline at end of file +~~~ + +Fichiers +répertoire /var/spool/cron/crontabs/ + +Syntaxe : minutes heures jours mois jour/semaine commande +"*" = toutes les occurrences, "," = liste, "-" = intervalle + +Ex : + +0,15,30,45 * * * * /usr/local/adm/check-nis 1>/dev/null 2>&1 +00 01 * * * nice -10 find /inf -name core -exec rm -f {} \; +10 03 * * 1-6 nice -10 /usr/local/adm/sauvegarde-daily +30 05 * * 0 /usr/local/adm/savelog-weekly +30 06 1 * * /usr/local/adm/savelog-monthly +00 00 1 1 * /usr/local/bin/happy-new-year + +Commande : +cron: analyse des fichiers crontabs et exécute les actions +crontab -l, crontab -e, crontab -r + +ps auwx | grep cron +vim /etc/crontab +ls /etc/cron.* +/var/spool/cron/crontabs +crontab -l / -e +@hourly @daily @weekly @monthly +man 5 crontab