at, batch, atq, atrm

提交、考察或删除定时或空闲时执行的作业


语法格式

at [-V] [-q queue] [-f file] [-mldbv] time
at [-V] [-q queue] [-f file] [-mldbv] -t time2
at -c jobids
atq [-V] [-q queue]
atrm [-V] jobids
batch

命令简介

at命令从标准输入或指定的文件中读取用户提供的命令或脚本,提交需要在指定时间执行的at作业(提交的作业位于/var/spool/at目录中)。其中,time是指定的作业执行时间,详见下面的说明。

atq命令用于显示用户自己尚未执行的at作业。超级用户运行此命令可以显示所有用户的at作业。每个作业的输出信息包括作业号、运行日期、时间、队列和用户名等。其中,queue是at作业的队列,参见“-q”选项的说明。

atrm命令用于删除指定的at作业,其中,jobids是一个或多个at作业的ID号。

同样,batch命令也用于读取标准输入或指定的文件,获取需要执行的命令或脚本,提交在系统空闲时(当系统平均负载低于0.8时)执行的批处理作业。

at支持大量的时间表示规范,如使用HH:MM的形式表示在当天的特定时间运行指定的at作业(如果指定的时间已经过时,假定是第二天)。也可以使用关键字midnight(午夜0:00时)、noon(中午12:00时)或teatime(下午4:00时)指定时间,也可以在时间后面加am、AM、pm或PM后缀,分别表示上午或下午某时。还可以使用“month-name day”的形式指定哪一天,或使用MMDD[YY]、MM/DD[/YY]、DD.MM[.YY]或[YYYY-]MM-DD的形式指定运行at作业的日期,也可以在时间后面加today或tomorrow等后缀。还可以使用“now + count计时单位”的形式指定日期和时间,其中的count是一个数值,计时单位可以是minutes、hours、days或weeks。

例如,若想在3天后的下午4:00时运行提交的at作业,可以使用“at 4pm + 3 days”命令。若想在7月31日的上午10:00时运行提交的at作业,可以使用“at 10am Jul 31”或“at 10am 0731”命令。若想在明天凌晨1:00时运行提交的at作业,可以使用“at 1am tomorrow”命令。

当提交的作业产生输出信息时,包括命令的正常输出数据与错误信息,系统将会以邮件的方式通知用户。

Linux使用/etc/at.allow和/etc/at.deny文件控制用户提交at作业。如果文件/etc/at.allow存在,只有其中列举的用户才能运行at命令。如果文件/etc/at.allow不存在,则检测/etc/at.deny文件,其中没有列举的用户可以运行at命令。如果这两个文件都不存在,只有超级用户才能运行at命令。如果/etc/at.deny文件为空,意味着任何用户均可运行at命令,这是默认的配置。

命令选项

-c  在标准输出上显示指定作业的详细内容。

-d  相当于直接运行atrm命令。

-f file  从指定的文件(而非标准输入)中读取提交的作业。

-l  相当于直接运行atq命令。

-m  在提交的作业完成之后,向用户发送电子邮件,即使作业没有输出信息。

-q queue  使用指定的队列提交作业。一个队列由单个字符标识,有效的队列标识是a~z与A~Z。其中a是at命令的默认队列,b是batch命令的默认队列。队列标识符的字母顺序越靠前,其调度运行的优先级越高。特殊的队列标识符“=”专门用作当前正在运行的作业。

-t time2  按照指定的时间参数执行提交的作业。其中时间参数必须采用[[CC]YY]MMDDhhmm格式。

-v  在读取提交的作业之前,首先显示作业即将执行的时间。时间的显示采用“Sat Dec 22 20:30:00 2012”格式。

-V  显示命令的版本信息,然后退出。

应用实例

1. 提交一个at作业,使之在当天的18:30删除当前用户gqxing主目录中的内存映像文件。

$ at 1830
at> rm -r /home/gqxing/core > /dev/null 2>&1
at> <EOT>(即按下Ctrl-D键)
job 2 at 2012-12-20 18:30
$

2. 提交一个at作业,令其在12月25日午夜进入/home/gqxing/backup目录,压缩其中的所有数据文件。

$ at 11:59 pm dec 25
at> cd /home/gqxing/backup
at> bzip2 data*
at> <EOT>
job 3 at 2012-12-25 23:59
$

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z