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 分。日期可以使用欧洲或西方的格式,包括 DD.MM.YY
(27.07.15
表示27日7月2015年),YYYY-MM-DD
(等同于 2015-07-27
),MM/DD/[CC]YY
(就是,12/25/15
或 12/25/2015
指的是12月25日,2015),或 MMDD[CC]YY
(即 122515
或 12252015
代表12月25日,2015)。少了它,则在时间到就运行 (同一天、或若时间已过则是隔天)。也可写成 “today” 或 “tomorrow”,就是今天或明天。
$
at 09:00 27.07.15 <<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 Mon Jul 27 09:00:00 2015
at now + 数字 间隔
。 间隔 可以是 分钟
, 小时
, 天
, 或者 星期
。 数字 指明在命令执行之前消逝时间的单位数量。
cron
中的计划任务,运行 crontab -e
删除 crontab 文件中的对应行。对于使用 at
命令的任务,同样简单:运行 atrm 任务编号
。任务编号在调度时有 at
命令指定,可以通过 atq
命令查询找到,该命令给出当前计划任务清单。