24.2. 使用 Anacron 计划周期性作业
anacron (如 cron )是一项允许您定期调度运行任务(通常称为作业)的服务。但是 ,anacron 与 cron 有两种不同之处:
-
如果系统未在计划的时间运行,
anacron作业会延迟到系统运行; -
anacron作业最多可以每天运行一次。
用户 在 anacron 表文件中指定 anacron 作业,也称为 anacrontab 文件。然后,crond 服务读取这些文件,该服务 将执行作业。
24.2.1. Anacrob 任务的先决条件 复制链接链接已复制到粘贴板!
在调度 anacron 作业前:
验证您已安装 cronie-anacron 软件包:
rpm -q cronie-anacron
~]# rpm -q cronie-anacronCopy to Clipboard Copied! Toggle word wrap Toggle overflow cronie-anacron 可能已经安装,因为它是 cronie 软件包的子软件包。如果没有安装,请使用这个命令:
yum install cronie-anacron
~]# yum install cronie-anacronCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装时,crond
服务已启用 - 在引导时自动启动。如果禁用该服务,启用该服务:systemctl enable crond.service
~]# systemctl enable crond.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为当前会话启动
crond服务:systemctl start crond.service
~]# systemctl start crond.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow (可选) 配置 anacron.例如,您可以更改:
- 执行作业时要使用的 shell
-
PATH环境变量 如果作业发送电子邮件,请邮件.
有关配置 anacron 的相关信息,请参见
anacrontab(5)手册页。
默认情况下,anacron 配置包含一个阻止其运行(如果计算机未插入)的条件。此设置可确保通过运行 anacron 作业,防止垃圾排空。
如果您想允许 anacron 在 battery 电源上运行,请打开 /etc/cron.hourly/0anacron 文件并注释掉以下部分:
24.2.2. 调度 Anacron 作业 复制链接链接已复制到粘贴板!
以 root 用户身份调度 anacron 作业
root 用户使用 /etc/anacrontab 中的 anacron 表。以 root 用户身份使用以下步骤调度作业。
以 root 用户身份调度 anacron 作业
选择:
-
执行作业的频率。例如,使用
1指定每天或 3 在3天内指定一次。 -
执行作业的延迟。例如,使用
0指定不延迟,或者60 代表 1 小时的延迟。 -
作业标识符,它将用于日志记录。例如,使用
my.anacron.job将作业记录为my.anacron.job字符串。 要执行的命令。例如:使用
/usr/local/bin/my-script.sh将所选值合并到作业规格中。以下是一个示例规格:
3 60 cron.daily /usr/local/bin/my-script.sh
3 60 cron.daily /usr/local/bin/my-script.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
执行作业的频率。例如,使用
-
将结果行添加到
/etc/anacrontab。
该作业现在将按计划运行。
有关简单作业示例,请查看 /etc/anacrontab 文件。有关如何指定作业的完整参考,请参见 anacrontab(5)手册页。
计划 Hourly、Daily、Weekly 和 Monthly 作业
您可以使用 anacron 计划每日、每周和每月的作业。请参阅 “计划 Hourly、Daily、Weekly 和 Monthly 作业”一节。