Learn how to configure scheduled tasks in Linux: using cron and anacron
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:
- period - This is the frequency of the task, specified in days, or @daily, @weekly, @monthly Stands for daily, weekly, monthly. You can also use numbers: 1 - every day, 7 - every week, 30 - every month, or N - days.
- delay - This is the number of minutes to wait before executing a task.
- job-id - This is the unique name of the job written in the log file.
- command - This is the command or shell script to be executed.
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:
- 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 用户可以使用(使用特定的配置启动普通任务) |
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
Recommend some articles related to this article for you:
- Usage Examples of Zypper Package Manager for SUSE Linux
- Swift Notes Variable Explanation
- 《Angular Development Practice" pdf e-book free download
- RSS syntax overview
- "Spark Rapid Big Data Analysis 2nd Edition" pdf e-book free download
- Install Memcached on Ubuntu
- Multiple uses of awk commands
- Basic use of Go generics
- How to use Python or Bash to dynamically generate Jekyll configuration files
- Let Linux maintain accurate time
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!

Artificial Intelligence (AI) is a term that’s been buzzing around for a while now, from self-driving cars to voice assistants like Siri and Alexa, AI is becoming a part of our everyday lives. But what exactly is AI, and why should Linux users care ab


For someone new to Linux, using it can still feel challenging, even with user-friendly distributions like Ubuntu and Mint. While these distributions simplify many tasks, some manual configuration is often required, but fully harnessing the power of L

In the previous article, we introduced the basics of AI and how it fits into the world of Linux. Now, it’s time to dive deeper and set up your Linux system to start building your first AI model. Whether you’re a complete beginner or have some exper

If you’re looking to manage your server with ease, Kloxo is a great option, as it is free and open-source web hosting control panel that allows you to manage your server and websites with a simple, user-friendly interface. In this guide, we’ll walk

If you’ve ever found yourself in a situation where you’re trying to move a bunch of files and folders, only to be stumped by spaces in the folder names, you’re not alone. Spaces in filenames or folder names can quickly become a frustrat

The KDE Plasma desktop is renowned for its sleek design, extensive customization options, and impressive performance. For users who appreciate a polished, modern interface with the flexibility to tweak every detail, Plasma is a dream come true. But w


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

SublimeText3 Linux new version
SublimeText3 Linux latest version

Dreamweaver Mac version
Visual web development tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.
