cron 到 anacron 的迁移过程

cron 到 anacron 的迁移过程

我有一个脚本,我想在实验室的 RHEL 5 和 6 工作站上每晚运行它,因此我将脚本部署到每个系统的 /etc/cron.daily/ 目录并使其可执行。但是有些工作站在 cron.daily 运行时可能没有开机,因此我认为 anacron 可能更适合此目的。

我该如何将这个简单的 cron 设置转换为使用 anacron 而不是 cron?

看来 /etc/anacrontab 已经运行了 /etc/cron.daily 中的脚本:

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1   5   cron.daily      nice run-parts /etc/cron.daily
7   25  cron.weekly     nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly        nice run-parts /etc/cron.monthly

是否需要采取任何步骤来确保工作站以或多或少可靠的方式执行脚本?

答案1

如果你的工作站无法可靠地启动,那么 anacron 就是适合这项工作的工具,因为手册页

...它不假设机器连续运行。因此,它可以用于不是每天 24 小时运行的机器,以控制日常、每周和每月作业等常规作业。

下面它说的是

对于每个作业,Anacron 都会检查该作业是否在过去 n 天内执行过,其中 n 是该作业指定的时间段。如果没有,Anacron 会在等待延迟参数指定的分钟数后运行该作业的 shell 命令。

因此,你所要做的就是将合适的条目添加到你的安纳克罗纳塔文件。

相关内容