at 命令被用来在指定时间内调度一次性的任务;
batch 命令被用来在系统平均载量降到 0.8 以下时执行一次性的任务;
1、配置at
要在某一指定时间内调度一项一次性作业,键入 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 天之后的此时此刻执行
时间必须要被先指定,接着是可有可无的日期;
[root@huanxiangwu ~]# at 12:00
at>
at> 提示就会出现,键入要执行的命令,按 [Enter] 键,然后键入 Ctrl-D。你可以指定多条命令,或者,你也可以在提示后输入 shell 脚本,在脚本的每一行后按 [Enter] 键,然后在空行处键入 Ctrl-D 来退出;
使用命令 atq 来查看等待运行的作业
如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户;
2、配置 batch 作业
要在系统平均负载量降到 0.8 以下时执行某项一次性的任务,使用 batch 命令;
键入 batch 命令后,at> 提示就会出现。键入要执行的命令,按 [Enter] 键,然后键入 Ctrl-D;类似于at命令的操作;
系统平均负载量一降到 0.8 以下,这组命令或脚本就会被执行;
如果这组命令或脚本试图在标准输出中显示信息,该输出会用电子邮件方式被邮寄给用户;
3、at batch命令参数
at 和 batch 的其它命令行选项包括:
选项 描述
-f 从文件中读取命令或 shell 脚本,而非在提示后指定它们
-m 在作业完成后,给用户发送电子邮件
-v 显示作业将被执行的时间
4、控制对 at 和 batch 的使用
/etc/at.allow 和 /etc/at.deny 文件可以用来限制对 at 和 batch 命令的使用;
不论使用控制文件如何规定,根用户都总是可以执行 at 和 batch 命令;
如果 at.allow 文件存在,只有其中列出的用户才能使用 at 或 batch 命令,at.deny 文件会被忽略;
如果 at.allow 文件不存在,所有在 at.deny 文件中列出的用户都被禁止使用 at 和 batch 命令;