cron 被用来调度重复的任务,at 命令被用来在指定时间内调度一次性的任务。batch 命令被用来在系统平均载量降到 0.8 以下时执行一次性的任务。
要使用 at 或 batch 命令,你必须安装了 at RPM 软件包,并且 atd 服务必须在运行。要判定该软件包是否被安装了,使用 rpm -q at 命令。要判定该服务是否在运行,使用 /sbin/service atd status 命令。
要在某一指定时间内调度一项一次性作业,键入 at time 命令。这里的 time 是执行命令的时间。
time 参数可以是下面格式中任何一种:
HH:MM 格式 — 譬如,04:00 代表 4:00AM。如果时间已过,它就会在第二天的这一时间执行。
midnight — 代表 12:00AM。
noon — 代表 12:00PM。
teatime — 代表 4:00PM。
英文月名 日期 年份 格式— 譬如,January 15 2002 代表 2002 年 1 月 15 日。年份可有可无。
MMDDYY、MM/DD/YY、或 MM.DD.YY 格式 — 譬如,011502 代表 2002 年 1 月 15 日。
now + 时间 — 时间以 minutes、hours、days、或 weeks 为单位。譬如,now + 5 days 代表命令应该在 5 天之后的此时此刻执行。
时间必须要被先指定,接着是可有可无的日期。关于时间格式的详情,请阅读 /usr/share/doc/at-<version> /timespec 文本文件。
键入了 at 命令和它的时间参数后,at> 提示就会出现。键入要执行的命令,按
如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户。
使用命令 atq 来查看等待运行的作业。详情请参阅第 37.2.3 节。
at 命令的用法能够被制约。详情请参阅 第 37.2.5 节。
要在系统平均载量降到 0.8 以下时执行某项一次性的任务,使用 batch 命令。
键入 batch 命令后,at> 提示就会出现。键入要执行的命令,按
如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户。
使用命令 atq 来查看等待运行的作业。详情请参阅第 37.2.3 节。
batch 命令的用法能够被制约。详情请参阅第 37.2.5 节。
要查看等待运行的 at 和 batch 作业,使用 atq 命令。它显示一列等待运行的作业,每项作业只占据一行。每一行的格式都是:作业号码、日期、小时、作业类别、以及用户名。用户只能查看他们自己的作业。如果根用户执行 atq 命令,所有用户的全部作业都会被显示。
/etc/at.allow 和 /etc/at.deny 文件可以用来限制对 at 和 batch 命令的使用。这两个使用控制文件的格式都是每行一个用户。两个文件都不允许使用空白字符。如果使用控制文件被修改了,at 守护进程(atd) 不必被重启。每次用户试图执行 at 或 batch 命令时,使用控制文件都会被读取。
不论使用控制文件如何规定,根用户都总是可以执行 at 和 batch 命令。
如果 at.allow 文件存在,只有其中列出的用户才能使用 at 或 batch 命令,at.deny 文件会被忽略。
如果 at.allow 文件不存在,所有在 at.deny 文件中列出的用户都被禁止使用 at 和 batch 命令。
要启动 at 服务,使用 /sbin/service atd start 命令。要停止该服务, 使用 /sbin/service atd stop 命令。建议你在引导时启动该服务。关于在引导时自动启动 at 服务的详情,请参阅第21章 。