GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce qu'Anacron et son utilisation sous Linux

Anacron est un service qui s'exécute après chaque redémarrage du système, vérifiant les cron et les tâches planifiées qui devaient s'exécuter pendant que le système était en panne et, par conséquent, n'ont pas encore été exécutés. Il scanne le /etc/cron.hourly/anacron fichier pour trois facteurs afin de déterminer s'il faut exécuter ces travaux manqués. Les trois facteurs sont la présence du fichier /var/spool/anacron/cron.daily, le temps écoulé de 24 heures depuis la dernière exécution d'anacron et la présence de l'alimentation CA du système. Si les trois facteurs sont affirmatifs, anacron continue et exécute automatiquement les scripts situés dans /etc/cron.daily , /etc/cron.weekly , et /etc/cron.monthly répertoires, en fonction des paramètres et des conditions définis dans le fichier de configuration principal d'anacron /etc/anacrontab. Le contenu par défaut du fichier /etc/anacrontab est affiché ci-dessous :

$ cat /etc/anacrontab 
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
RANDOM_DELAY=45
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

Ce fichier a cinq variables d'environnement définies :le SHELL et CHEMIN les variables définissent le shell et le chemin à utiliser pour exécuter les scripts (définis au bas de ce fichier) ; MAILTO définit le nom d'utilisateur ou un e-mail auquel sont envoyés les messages de sortie et d'erreur ; RANDOM_DELAY exprime le délai aléatoire maximum en minutes (ajouté au délai de base des travaux tel que défini dans la deuxième colonne des trois dernières lignes), et START_HOURS_RANGE indique la plage d'heures à laquelle les travaux pourraient commencer.

Les trois dernières lignes, dans l'exemple de sortie ci-dessus, définissent la planification et les scripts à exécuter. La première colonne représente la période en jours (ou @daily, @weekly, @monthly ou @yearly) qu'anacron utilise pour vérifier si la tâche spécifiée a été exécutée pendant ce nombre de jours ou cette période, la seconde spécifie le délai en minutes pour anacron d'attendre avant d'exécuter la tâche, la troisième identifie un identifiant de tâche et la quatrième colonne spécifie la commande à utiliser pour exécuter le contenu de /etc/cron.daily, /etc/cron.weekly et /etc/cron .fichiers mensuels. Ici, la commande run-parts est utilisée pour exécuter tous les fichiers sous les trois emplacements de répertoire avec la précision par défaut.

Pour chaque tâche, anacron vérifie si la tâche a été exécutée précédemment dans les jours ou la période spécifiés (colonne 1) et l'exécute après avoir attendu le nombre de minutes (colonne 2) si ce n'était pas le cas. Anacron peut être exécuté manuellement à l'invite de commande. Par exemple, pour exécuter toutes les tâches planifiées dans le fichier /etc/anacrontab mais qui ont été manquées, vous pouvez lancer la commande suivante :

# anacron

Anacron stocke sa date d'exécution dans les fichiers situés dans le répertoire /var/spool/anacron pour chaque planification définie.


Linux
  1. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0 ?

  2. Bash =~ Regex et Https://regex101.com/?

  3. UNIX / Linux :Quelle est la bonne permission des répertoires /tmp et /var/tmp

  4. À quoi servent les fichiers /etc/shadow et shadow cache dans le système d'exploitation Linux ?

  5. Quelle est la différence entre /tmp et /run ?

Qu'est-ce que Crontab et comment automatiser des tâches sous Linux avec Crontab

Qu'est-ce que Fstab sous Linux | Une introduction au fichier Linux /etc/fstab

La bonne façon de modifier les fichiers /etc/passwd et /etc/group sous Linux

Qu'est-ce que le fichier /etc/passwd sous Linux ?

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?