10_使用anacron调度任务
使用anacron调度任务
-
Anacron与cron类似,只是它通常用于不是一直处于启动状态的系统,例如作为台式机或者笔记本电脑。Anacron不希望系统像服务器一样运行24*7小时。当你想要一份后台工作时,要在不总是启动的机器上自动执行,应该使用Anacron而不是cron。假如你安排一个晚上10点的任务,而你的笔记本电脑在10点并没有醒来,当系统启动时,那么您的备份作业将不会执行,它会被跳过,直到下一个计划。
但是,如果您使用了anacron安排了相同的作业,则可以确定一旦你的电脑启动时,它会被执行。
如果cron作为守护进程运行,则anacron只是一个必须运行的命令才能执行计划的任务。事实上,每次系统启动时,anacron都会自动运行。
另需注意的是,anacron由root用户运行,因此任务将具有特权并且作业频率以天而不是分钟来表示,就像在cron的情况下一样。
anacron的配置文件anacrontab文件位于/etc/anacrontab
![img]()
如图所示,已经有3个与cron有关的工作,
run-parts是一个命令,它会运行在目录中找到的所有可执行文件,比如第二行,它会运行 /etc/cron.weekly 中找到的所有可执行文件。在这个文件中,每行有四个字段,第一个字段是以天为单位的周期,它指定作业执行的频率。在此字段中,你也可以使用@daily,@weekly或@monthly。
第二个字段指定anacron在执行作业之前将等待多长时间,延迟功能旨在防止系统因大量作业而过载,如果anacron确定它需要在启动时运行多个命令,它不会同时运行它们,而是会有一个延迟。
第三个字段是工作标识符,它对于每个作业应该都是唯一的,它是一个文件的名称,它会在/var/spool/anacron下创建,这个文件叫做作业时间戳文件,将包含一行"指示最后一次工作被执行的时间"。
第四个字段是需要被执行的命令。
在运行anacron之前,可以检查anacrontab(配置文件)有无错误,使用:
anacron -T如果在anacron选项卡文件中有任何错误,它会打印出一条显示错误的消息。
接着运行anacron:
sudo anacron -d通常,anacron作业在后台运行,屏幕上不会打印任何内容,-d选项将之带到前台来。
cat /var/spool/anacron文件
你会看到任务被执行的最后时间。

浙公网安备 33010602011771号