RHEL 7 - Remarques RHCSA (aide-mémoire)
– Linux peut exécuter des tâches automatiquement et est livré avec des utilitaires de tâches automatisées :cron, anacron, at, batch .
– Les tâches cron peuvent s'exécuter aussi souvent que toutes les minutes.
– Une tâche cron planifiée est ignorée si le système est en panne.
– anacron peut exécuter une tâche une seule fois par jour.
– Les tâches planifiées sont mémorisées et exécutées la prochaine fois que le système est en marche.
– crond démon recherche plusieurs fichiers et répertoires pour les tâches planifiées :
1. /var/spool/cron/ 2. /etc/anacrontab 3. /etc/cron.d
Configuration des tâches cron
Les tâches cron sont définies dans /etc/crontab.
Les entrées crontab sont de la forme :
Minutes Hours Date Month Day-of-Week command
where: Minutes = [0 to 59] Hours = [0 to 23] Date = [1 to 31] Month = [1 to 12] Day-of-Week = [0 to 6] 0=Sunday - 6=Saturday command = a script file or a shell command. Other special characters can be used: - An asterisk (*) can be used to specify all valid values. - A hyphen (-) between integers specifies a range of integers. - A list of values separated by commas (,) specifies a list. - A forward slash (/) can be used to specify step values.
Autres répertoires et fichiers cron
/etc/cron.d
– Contient des fichiers avec la même syntaxe que /etc/crontab – accessible uniquement par les privilèges root
– Autres répertoires cron dans /etc :–
cron.hourly cron.daily cron.weekly cron.monthly
– Les scripts de ces répertoires s'exécutent toutes les heures, tous les jours, toutes les semaines ou tous les mois, selon le nom du répertoire.
– Le /etc/cron.allow et /etc/cron.deny les fichiers restreignent l'accès des utilisateurs à cron. Si aucun fichier n'existe, seul root peut utiliser cron.
Utilitaire Crontab
– Les utilisateurs autres que root peuvent également configurer cron à l'aide de l'utilitaire crontab.
– les crontabs définis par l'utilisateur sont stockés dans /var/spool/cron/[nom d'utilisateur] .
– Pour créer ou modifier une entrée crontab :
# crontab -e
– Pour lister les entrées dans la crontab définie par l'utilisateur :
# crontab -l
Configuration des tâches anacron
– les tâches anacron sont définies dans /etc/anacrontab .
– Les jobs sont définis par :
Period in days : frequency of execution in days Delay in minutes - Minutes to wait before executing the job job-identifier - A unique name used in logfiles command : a shell script or command to execute
exemple de fichier anacron :
SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=45 # the jobs will be started during the following hours only START_HOURS_RANGE=3-22 #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly
at et lot
– les utilitaires at et batch sont utilisés pour planifier des tâches ponctuelles.
– la commande at exécute une tâche à un moment précis.
– la commande batch exécute une tâche lorsque la charge moyenne du système est inférieure à 0,8.
– le service atd doit être en cours d'exécution pour exécuter des tâches at ou batch
– syntaxe de commande at :
# at time
– L'argument time accepte plusieurs formats :
HH:MM MMDDYY,MM/DD/YY or MM.DD.YY month-name day year midnight: At 12:00 AM teatime: At 4:00 PM now + time -- here time can be minutes, hours, days or weeks
– syntaxe de la commande batch :
# batch (at> promp is displayed)
– Le /etc/at.allow et /etc/at.deny les fichiers restreignent l'accès des utilisateurs à at. Si aucun fichier n'existe, seul root peut utiliser cron.