Introduction | In this article, we will explain cron and anacron and show you how to set up anacron in Linux. We will also compare these two tools. |
cron - is a daemon process used to run scheduled tasks such as system backups, updates, etc. It is suitable for scheduled tasks that run on machines that run 24X7, such as servers.
Commands/scripts are written in cron task scripts, which are scheduled in crontab files. The system default cromtab file is /etc/crontab, but each user can also create their own cromtab file to run user-defined commands at specific times.
To create a personal crontab file, just enter:
$ crontab -e
anacron is used to run commands at a frequency in days. It works slightly differently from cron in that it assumes the machine won't be on all the time.
Cron is also suitable for running daily, weekly and monthly scheduled tasks on machines that do not run 24X7, such as laptops and desktop computers (LCTT translation: not suitable for executing tasks by hours and minutes).
Suppose you have a scheduled task (such as a backup script) that you want to run every day using cron in the middle of the night, maybe while you are asleep and your desktop/laptop is shut down by then. Your backup script will not be run.
However, if you use anacron, you can ensure that the backup script will be executed the next time you turn on your desktop/laptop.
How anacron works on Linuxanacron tasks are listed in /etc/anacrontab, and tasks can be scheduled using the following format (comments in the anacron file must start with #).
period delay job-identifier command
From the format above:
To browse the sample files, enter:
$ 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
This is what actually happened:
现在让我们看一个例子。这个会每天运行 /home/aaronkilik/bin/backup.sh 脚本:
@daily 10 example.daily /bin/bash /home/aaronkilik/bin/backup.sh
当机器在 backup.sh 期望被运行时是关机的,anacron 会在机器开机十分钟之后运行它,而不用再等待 7 天。
这里有两个你应该理解的 anacrontab 文件的重要变量:
这是你的 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 用户可以使用(使用特定的配置启动普通任务) |
The main difference between cron and anacron is that cron can run effectively on machines that are continuously running, while anacron is targeted at machines that will shut down within a day or a week.
If you know of other methods, please share them with us in the comment box.
Original address: https://www.tecmint.com/cron-vs-anacron-schedule-jobs-using-anacron-on-linux/
This article’s address: https://www.linuxprobe.com/cron-anacron-work.html Editor: Zhang Xiong, Reviewer: Pang Zengbao
Original address of this article: https://www.linuxprobe.com/cron-anacron-work.htmlEditor: Problem Terminator, Auditor: None
The above is the detailed content of Learn how to configure scheduled tasks in Linux: using cron and anacron. For more information, please follow other related articles on the PHP Chinese website!