Maison >Tutoriel système >Linux >Apprenez à configurer des tâches planifiées sous Linux : en utilisant cron et anacron

Apprenez à configurer des tâches planifiées sous Linux : en utilisant cron et anacron

王林
王林avant
2024-01-15 11:33:05964parcourir
Présentation Dans cet article, nous expliquons cron et anacron et vous montrons comment configurer anacron sous Linux. Nous comparerons également ces deux outils.

Linux 中怎么设置计划任务:cron 与 anacron

configuration cron sous Linux

cron - est un processus démon utilisé pour exécuter des tâches planifiées telles que des sauvegardes système, des mises à jour, etc. Il convient aux tâches planifiées exécutées sur des machines fonctionnant 24h/24 et 7j/7, telles que les serveurs.

Les commandes/scripts sont écrits dans des scripts de tâches cron, qui sont planifiés dans des fichiers crontab. Le fichier cromtab par défaut du système est /etc/crontab , mais chaque utilisateur peut également créer son propre fichier cromtab pour exécuter des commandes définies par l'utilisateur à des moments précis.

Pour créer un fichier crontab personnel, tapez simplement :

$ crontab -e

Linux 中怎么设置计划任务:cron 与 anacron

Comment configurer anacron sous Linux

anacron est utilisé pour exécuter des commandes avec une fréquence en jours. Cela fonctionne légèrement différemment de cron, il suppose que la machine ne sera pas allumée tout le temps.

Cron convient également à l'exécution de tâches planifiées quotidiennes, hebdomadaires et mensuelles sur des machines qui ne fonctionnent pas 24h/24 et 7j/7, telles que les ordinateurs portables et de bureau (traduction LCTT : ne convient pas à l'exécution de tâches par heures et minutes).

Supposons que vous ayez une tâche planifiée (telle qu'un script de sauvegarde) que vous souhaitez exécuter tous les jours à l'aide de cron au milieu de la nuit, peut-être pendant que vous dormez et que votre ordinateur de bureau/ordinateur portable est alors éteint. Votre script de sauvegarde ne sera pas exécuté.

Cependant, si vous utilisez anacron, vous pouvez vous assurer que le script de sauvegarde sera exécuté la prochaine fois que vous allumerez votre ordinateur de bureau/ordinateur portable.

Comment fonctionne anacron sous Linux Les tâches

anacron sont répertoriées dans /etc/anacrontab et les tâches peuvent être planifiées en utilisant le format suivant (les commentaires dans le fichier anacron doivent commencer par le numéro #).

period   delay   job-identifier   command

À partir du format ci-dessus :

  • période - Il s'agit de la fréquence de la tâche, spécifiée en jours, ou @daily, @weekly, @monthly pour quotidien, hebdomadaire ou mensuel. Vous pouvez également utiliser des nombres : 1 - quotidiennement, 7 - hebdomadaire, 30 - mensuellement ou N - jours.
  • delay - C'est le nombre de minutes à attendre avant d'exécuter une tâche.
  • job-id - Il s'agit du nom unique du travail écrit dans le fichier journal.
  • command - Il s'agit de la commande ou du script shell à exécuter.

Pour parcourir les exemples de fichiers, tapez :

$ ls -l /var/spool/anacron/
total 12
-rw------- 1 root root 9 Jun  1 10:25 cron.daily
-rw------- 1 root root 9 May 27 11:01 cron.monthly
-rw------- 1 root root 9 May 30 10:28 cron.weekly

Voici ce qui s'est réellement passé :

  • anacron 会检查任务是否已经在 period 字段指定的时间被被执行了。如果没有,则在等待 delay 字段中指定的分钟数后,执行 command字段中指定的命令。
  • 一旦任务被执行了,它会使用 job-id (时间戳文件名)字段中指定的名称将日期记录在 /var/spool/anacron 目录中的时间戳文件中。

现在让我们看一个例子。这个会每天运行 /home/aaronkilik/bin/backup.sh 脚本:

 @daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh

当机器在 backup.sh 期望被运行时是关机的,anacron 会在机器开机十分钟之后运行它,而不用再等待 7 天。

这里有两个你应该理解的 anacrontab 文件的重要变量:

  • START_HOURS_RANGE - 这个设置任务开始运行的时间范围(也就是任务只在这几个小时内运行)。
  • RANDOM_DELAY - 这定义添加到用户定义的任务延迟的最大随机延迟(默认为 45)。

这是你的 anacrontab 文件可能看上去的样子。

Anacron – /etc/anacrontab

# /etc/anacrontab: configuration file for anacron
# See anacron(8) and anacrontab(5) for details.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
LOGNAME=root
# These replace cron's entries
1       5       cron.daily      run-parts --report /etc/cron.daily
7       10      cron.weekly     run-parts --report /etc/cron.weekly
@monthly        15      cron.monthly    run-parts --report /etc/cron.monthly
@daily    10    example.daily   /bin/bash /home/aaronkilik/bin/backup.sh                                                                      

下面是 cron 以及 anacron 的比较,帮助你理解何时用他们其中一个。

cron anacron
它是守护进程 它不是守护进程
适合服务器 适合桌面/笔记本电脑
可以让你以分钟级运行计划任务 只能让你以天为基础来运行计划任务
关机时不会执行计划任务 如果计划任务到期,机器是关机的,那么它会在机器下次开机后执行计划任务
普通用户和 root 用户都可以使用 只有 root 用户可以使用(使用特定的配置启动普通任务)

La principale différence entre cron et anacron est que cron peut fonctionner efficacement sur des machines qui fonctionnent en continu, tandis qu'anacron est destiné aux machines qui s'arrêteront dans un délai d'un jour ou d'une semaine.

Si vous connaissez d'autres méthodes, partagez-les avec nous dans la zone de commentaires.

Adresse originale : https://www.tecmint.com/cron-vs-anacron-schedule-jobs-using-anacron-on-linux/‎

L'adresse de cet article : https://www.linuxprobe.com/cron-anacron-work.htmlÉditeur : Zhang Xiong, critique : Peng Zengbao

Adresse originale de cet article : https://www.linuxprobe.com/cron-anacron-work.htmlÉditeur : Problem Terminator, Réviseur : Aucun

Recommandez pour vous quelques articles liés à cet article :

  • Exemples d'utilisation du gestionnaire de packages Zypper dans SUSE Linux
  • Explication des variables dans les notes Swift
  • "Angular Development in Practice" pdf e-book téléchargement gratuit
  • Aperçu de la syntaxe RSS
  • Téléchargement gratuit du livre électronique PDF "Spark Rapid Big Data Analysis 2nd Edition"
  • Installation de Memcached sur Ubuntu
  • Utilisations multiples de la commande awk
  • Utilisation de base des génériques Go
  • Comment utiliser Python ou Bash pour générer dynamiquement la configuration de Jekyll files
  • Laissez Linux garder l'heure précise

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer