除了at、crontab外,batch和anacron也和例行工作相关。
batch和at作用基本一致,主要区别是batch是当cpu工作负载小于0.8时才进行后续的工作安排,从而避免cpu100%负载状态时还要进行例行工作。
而anacron的作用是配合 /etc/anacrontab 的设定,可以唤醒停机期间系统未进行的 crontab 任务。
/etc/crontab 配置文件内容:
[[email protected] ~]# cat /etc/crontab
SHELL=/bin/bash <==使用哪种 shell 接口 PATH=/sbin:/bin:/usr/sbin:/usr/bin <==执行文件搜寻路径
MAILTO=root <==若有额外 STDOUT,以 email 将数据送给 谁
HOME=/ <==默认此 shell 的家目录所在
# run-parts
01 * * * * root run-parts /etc/cron.hourly <==每小时
02 4 * * * root run-parts /etc/cron.daily <==每天
22 4 * * 0 root run-parts /etc/cron.weekly <==每周日
42 4 1 * * root run-parts /etc/cron.monthly <==每个月 1 号
分时 日月 周 执行者身份 指令串,其中run-parts是个指令,其具体行为是“将后面接的『目 录』内的所有档案捉出来执行!”
由于 CentOS 提供的 run-parts 这个 script 的辅助,因此 /etc/crontab 这个档案里面支持两种下达指令的方式。
一种是直接下达指令,例如:
01 * * * * dmtsai mail -s "testing" kiki < /home/dmtsai/test.txt /*以 dmtsai 这个使用者的身份,在每小时执行一次 mail 指令。/
一种则是以目录来规划,例如:
*/5 * * * * root run-parts /root/runcron /*建立一个 /root/runcron 的目录,将要每隔五分钟执行的『可执行文件』都写到该目录下, 就可以让系统每五分钟执行一次该目录下的所有可执行文件。/