cron
是负责调度和运行周期命令(每天,每周,等)的守护进程; atd
用于处理单次执行命令,命令将在未来某个指定时刻运行。
locate
程序数据库;
crontab -e
编辑(其内容存储在 /var/spool/cron/crontabs/user
文件中)。
/etc/crontab
文件,或者在 /etc/cron.d
目录中写入另外的crontab 文件。这两种方法可以用来指明执行命令时的用户身份。
/etc/cron.hourly/
目录中包含每小时运行的程序;
/etc/cron.daily/
目录中包含每天运行的程序;
/etc/cron.weekly/
目录中包含每周运行的程序;
/etc/cron.monthly/
目录中包含每月运行的程序;
Sun
, Mon
,等);
/etc/crontab
和 /etc/cron.d/
中,而不是在用户自己的调度文件中);
a-b
描述介于 a
和 b
中间的所有值。语法 a-b/c
描述以c
为增量间隔(例如: 0-10/2
代表 0,2,4,6,8,10
)。星号 *
是通配符,代表所有可能值。
at
执行在未来某一时刻指定的命令。它将预定的时间和日期作为命令行参数,带上要执行的命令作为标准输入。如果进入当前的命令介面(shell),命令就会执行。 at
命令甚至会保存当前的环境,以便重建执行命令时的条件。时间使用下面的方法标记: 16:12
或者 4:12pm
代表 4:12 pm。日期可以用几种欧式和西式方法表示: DD.MM.YY
(27.07.12
表示2012年7月27号),YYYY-MM-DD
(相同的日期用 2012-07-27
表示),MM/DD/[CC]YY
(例, 12/25/12
或者 12/25/2012
就是2012年12月25号),或者简单点 MMDD[CC]YY
( 122512
或者 12252012
类似地,也表示2012年12月25号)。如果没有日期选项,一旦到达标记时间(当天,如果已经过了当天的设定时间,就改在明天),命令就会运行。也可以使用“today”或者“tomorrow”来明确的指示今天或者明天。
$
at 09:00 27.07.14 <<END
>
echo "Don't forget to wish a Happy Birthday to Raphaël!" \
>
| mail lolando@debian.org
>
END
warning: commands will be executed using /bin/sh job 31 at Fri Jul 27 09:00:00 2012
at now + 数字 间隔
。 间隔 可以是 分钟
, 小时
, 天
, 或者 星期
。 数字 指明在命令执行之前消逝时间的单位数量。
cron
中的计划任务,运行 crontab -e
删除 crontab 文件中的对应行。对于使用 at
命令的任务,同样简单:运行 atrm 任务编号
。任务编号在调度时有 at
命令指定,可以通过 atq
命令查询找到,该命令给出当前计划任务清单。