Anacron 作用的目的并不是完全替代 Cron。尽管对于经常关闭的系统来说,Cron 会造成一些严重的问题,但是,对于经常运行的作业,比如远程邮件服务器上每小时进行一次的新邮件检查,Cron 仍然是一个重要的工具。Anacron 的目的是补充 Cron,而不是替代它。
Cron 是作为守护进程运行的,与此不同的是,Anacron 作用是作为普通进程运行并终止的。Anacron 作用维护了一组应当运行的作业,每个作业都一个相关的运行间隔。每次运行时,Anacron 将检查作业列表以了解自最后一次运行某个作业后,是否超过了该作业的指定时间间隔。如果是的话,Anacron 将运行该作业。
这种设计方法意味着 Anacron 必须定期运行。运行 Anacron 小节描述了两种方法。每种方法各有利弊。一般来讲,Anacron 作用是由根用户运行的,但是普通用户可能也使用 Anacron,就像在 Anacron 作用的个人应用 中描述的那样。
获取并安装 Anacron
大多数 Linux 发行版都在其软件包中包括了 Anacron。因此,通过输入 yum install anacron、apt-get install anacron 或类似的内容,就可以安装该软件。如果您的发行版没有包含 Anacron 包,那么需要从源代码中下载并安装该包。不幸的是,Anacron Web 站点并没有包含 tarball 链接;您需要使用 Concurrent Versions System (CVS) 获得下载:
清单 1. 从 CVS 下载 Anacron
cvs -d:pserver:anonymous@anacron.cvs.sourceforge.net:/cvsroot/anacron login
cvs -z3 -d:pserver:anonymous@anacron.cvs.sourceforge.net:/cvsroot/anacron co -P anacron
输入第一条命令后,将作为 guest 用户登录到 CVS 库。这将提示您输入密码。只需要按下 Enter 键(guest 访问不需要用到密码)。第二个命令将把 Anacron 源代码下载到名为 anacron 的子目录中。
使用 CVS 获得 Anacron 作用的一个缺点就是有时候这种方法并不可靠。如果软件没有得到彻底的编译,您可以尝试自己解决问题,否则需要等待一两天直到他人帮助您修复问题。如果问题继续存在,那么最好追踪预编译的二进制文件,即使这意味着寻找另一个发行版的文件。
Anacron 中的一个常见 bug 是 gregor.c:79: error: assignment of read-only variable 'isleap'。修复这个 bug 的方法是编辑 gregor.c 文件第 79 行,并删除该行开始部分的字符串 const。
获得 Anacron 源代码后,可以按照下面的步骤进行安装(注意,如果已经为发行版安装了预编译的二进制文件,则不需要执行这些步骤):
切换到由 cvs 创建的 Anacron 目录。
作为一个可选步骤,编辑 Makefile 以调整软件安装目录或其他编译细节。
输入 make 以构建软件。
作为 root,输入 make install 以安装软件。
安装完软件后,不管是使用发行版的包管理,还是从源代码中安装,都应该继续进行配置并运行 Anacron。
【编辑推荐】