22
0
Fork 0

relecture en cours

This commit is contained in:
gcolpart 2017-06-18 04:30:26 +02:00
parent a61b37c476
commit 2cd5a2a6f9
1 changed files with 70 additions and 4 deletions

View File

@ -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
~~~
~~~
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