Heim  >  Artikel  >  System-Tutorial  >  Erfahren Sie, wie Sie geplante Aufgaben unter Linux konfigurieren: mit cron und anacron

Erfahren Sie, wie Sie geplante Aufgaben unter Linux konfigurieren: mit cron und anacron

王林
王林nach vorne
2024-01-15 11:33:05828Durchsuche
Einführung In diesem Artikel erklären wir Cron und Anacron und zeigen Ihnen, wie Sie Anacron unter Linux einrichten. Wir werden auch diese beiden Tools vergleichen.

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

Cron-Setup unter Linux

cron – ist ein Daemon-Prozess, der zum Ausführen geplanter Aufgaben wie Systemsicherungen, Updates usw. verwendet wird. Es eignet sich für geplante Aufgaben, die auf Computern ausgeführt werden, die rund um die Uhr laufen, z. B. Server.

Befehle/Skripte werden in Cron-Task-Skripten geschrieben, die in crontab-Dateien geplant sind. Die standardmäßige cromtab-Datei des Systems ist /etc/crontab, aber jeder Benutzer kann auch seine eigene cromtab-Datei erstellen, um benutzerdefinierte Befehle zu bestimmten Zeiten auszuführen.

Um eine persönliche crontab-Datei zu erstellen, geben Sie einfach Folgendes ein:

$ crontab -e

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

So richten Sie Anacron unter Linux ein

anacron wird verwendet, um Befehle mit einer Häufigkeit in Tagen auszuführen. Es funktioniert etwas anders als cron, es geht davon aus, dass die Maschine nicht ständig eingeschaltet ist.

Cron eignet sich auch zum Ausführen täglicher, wöchentlicher und monatlicher geplanter Aufgaben auf Maschinen, die nicht rund um die Uhr laufen, wie z. B. Laptops und Desktop-Computer (LCTT-Übersetzung: nicht zum Ausführen von Aufgaben nach Stunden und Minuten geeignet).

Angenommen, Sie haben eine geplante Aufgabe (z. B. ein Backup-Skript), die Sie jeden Tag mit cron mitten in der Nacht ausführen möchten, vielleicht während Sie schlafen und Ihr Desktop/Laptop bis dahin heruntergefahren ist. Ihr Backup-Skript wird nicht ausgeführt.

Wenn Sie jedoch Anacron verwenden, können Sie sicherstellen, dass das Backup-Skript beim nächsten Einschalten Ihres Desktops/Laptops ausgeführt wird.

Wie Anacron unter Linux funktioniert

Anacron-Aufgaben werden in /etc/anacrontab aufgelistet und Aufgaben können im folgenden Format geplant werden (Kommentare in der Anacron-Datei müssen mit der Nummer # beginnen).

period   delay   job-identifier   command

Aus dem oben genannten Format:

  • Periode – Dies ist die Häufigkeit der Aufgabe, angegeben in Tagen, oder @täglich, @wöchentlich, @monatlich für täglich, wöchentlich oder monatlich. Sie können auch Zahlen verwenden: 1 – täglich, 7 – wöchentlich, 30 – monatlich oder N – Tage.
  • Verzögerung – Dies ist die Anzahl der Minuten, die gewartet werden muss, bevor eine Aufgabe ausgeführt wird.
  • job-id – Dies ist der eindeutige Name des Jobs, der in die Protokolldatei geschrieben wird.
  • Befehl – Dies ist der Befehl oder das Shell-Skript, das ausgeführt werden soll.

Um die Beispieldateien zu durchsuchen, geben Sie Folgendes ein:

$ 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

Das ist tatsächlich passiert:

  • 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 用户可以使用(使用特定的配置启动普通任务)

Der Hauptunterschied zwischen Cron und Anacron besteht darin, dass Cron effektiv auf Maschinen ausgeführt werden kann, die kontinuierlich laufen, während Anacron auf Maschinen abzielt, die innerhalb eines Tages oder einer Woche heruntergefahren werden.

Wenn Sie andere Methoden kennen, teilen Sie uns diese bitte im Kommentarfeld mit.

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

Die Adresse dieses Artikels: https://www.linuxprobe.com/cron-anacron-work.htmlHerausgeber: Zhang Xiong, Rezensent: Peng Zengbao

Ursprüngliche Adresse dieses Artikels: https://www.linuxprobe.com/cron-anacron-work.htmlHerausgeber: Problem Terminator, Rezensent: Keine

Empfehlen Sie einige Artikel zu diesem Artikel für Sie:

  • Verwendungsbeispiele des Zypper-Paketmanagers in SUSE Linux
  • Erklärung von Variablen in Swift-Notizen
  • PDF-Version des E-Books „Angular Development in Practice“ zum kostenlosen Download
  • RSS-Syntax Übersicht
  • Kostenloser Download des PDF-E-Books „Spark Rapid Big Data Analysis 2nd Edition“
  • Installieren von Memcached auf Ubuntu
  • Mehrfachverwendung des awk-Befehls
  • Grundlegende Verwendung von Go-Generika
  • So verwenden Sie Python oder Bash, um Jekyll dynamisch zu generieren Konfigurationsdateien
  • Lassen Sie Linux die genaue Zeit behalten

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie geplante Aufgaben unter Linux konfigurieren: mit cron und anacron. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:linuxprobe.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen