CentOS命令at: 在指定的时间执行任务
时间:2016-07-13 11:27 来源:linux.it.net.cn 作者:IT
在指定的时间执行任务。
命令格式
at [-V] [-q queue] [-f file] [-mldbv] TIME
at [-V] [-q queue] [-f file] [-mldbv] -t time_arg
at -c job [job...]
命令参数
-V
在标准错误流上打印版本号
-q queue
使用指定的队列。一个队列以单一的字母命名,有效的命名范围是 a-z 和 A-Z。at 命令的缺省队列是 a,batch 命令的缺省队列是 b。字母的顺序越高,队列的优先级则越低。特殊队列 "=" 是为当前正在执行的任务而保留的。
-m
当任务完成时发送邮件给用户即使没有输出。
-f
从指定的文件而不是标准输出读取任务。
-l
列出当前用户的 at 任务列表。对与 root 用户,则列出所有用户的 at 列表。
-d
根据任务编号删除任务。
-v
显示任务将要执行的时间。
-c
连接命令行中列出的作业并输出到标准输出。
-t time_arg
指定任务的运行时间 time_arg。 time_arg 的格式为 [[CC]YY]MMDDhhmm。
实例
a) 10 分钟后执行任务
huey@huey-K42JE:~$ at now + 5 minutes
at> echo 'hello world' >> at.out
at> <EOT>
job 3 at Tue May 12 22:16:00 2015
b) 3 天后下午 4 点时执行任务
huey@huey-K42JE:~$ at 4pm + 3 days
at> echo 'hello world' >> at.out
at> <EOT>
job 4 at Fri May 15 16:00:00 2015
c) 7 月 31 号上午 10 点时执行任务
huey@huey-K42JE:~$ at 10am Jul 31
at> echo 'hello world' >> at.out
at> <EOT>
job 5 at Fri Jul 31 10:00:00 2015
d) 明天凌晨 1 点时执行任务
huey@huey-K42JE:~$ at 1am tomorrow
at> echo 'hello world' >> at.out
at> <EOT>
job 7 at Wed May 13 01:00:00 2015
e) 周三的下午 4 点时执行任务
huey@huey-K42JE:~$ at 4pm WED
at> echo 'hello world' >> at.out
at> <EOT>
job 8 at Wed May 13 16:00:00 2015
f) 在 2015-05-20 12:00:00 时执行任务
huey@huey-K42JE:~$ at -t "201505201200"
at> echo 'hello world' >> at.out
at> <EOT>
job 9 at Wed May 20 12:00:00 2015
g) 列出当前用户的 at 任务列表
复制代码
huey@huey-K42JE:~$ atq
9 Wed May 20 12:00:00 2015 a huey
8 Wed May 13 16:00:00 2015 a huey
6 Tue May 12 22:21:00 2015 a huey
5 Fri Jul 31 10:00:00 2015 a huey
4 Fri May 15 16:00:00 2015 a huey
7 Wed May 13 01:00:00 2015 a huey
复制代码
h) 删除编号为 6 的任务
huey@huey-K42JE:~$ atrm 6
相关命令
atq - 相当于 at -l
atrm - 相当于 at -d
batch - 当系统负载许可时,也就是平均负载量低于 0.8 时,执行任务。 其用法与 at 命令类似。
其他事项
关于时间的说明可以参考 /usr/share/doc/at-3.1.10/timespec 文件。
(责任编辑:IT)
在指定的时间执行任务。 命令格式 at [-V] [-q queue] [-f file] [-mldbv] TIME at [-V] [-q queue] [-f file] [-mldbv] -t time_arg at -c job [job...] 命令参数 -V 在标准错误流上打印版本号 -q queue 使用指定的队列。一个队列以单一的字母命名,有效的命名范围是 a-z 和 A-Z。at 命令的缺省队列是 a,batch 命令的缺省队列是 b。字母的顺序越高,队列的优先级则越低。特殊队列 "=" 是为当前正在执行的任务而保留的。 -m 当任务完成时发送邮件给用户即使没有输出。 -f 从指定的文件而不是标准输出读取任务。 -l 列出当前用户的 at 任务列表。对与 root 用户,则列出所有用户的 at 列表。 -d 根据任务编号删除任务。 -v 显示任务将要执行的时间。 -c 连接命令行中列出的作业并输出到标准输出。 -t time_arg 指定任务的运行时间 time_arg。 time_arg 的格式为 [[CC]YY]MMDDhhmm。 实例 a) 10 分钟后执行任务 huey@huey-K42JE:~$ at now + 5 minutes at> echo 'hello world' >> at.out at> <EOT> job 3 at Tue May 12 22:16:00 2015 b) 3 天后下午 4 点时执行任务 huey@huey-K42JE:~$ at 4pm + 3 days at> echo 'hello world' >> at.out at> <EOT> job 4 at Fri May 15 16:00:00 2015 c) 7 月 31 号上午 10 点时执行任务 huey@huey-K42JE:~$ at 10am Jul 31 at> echo 'hello world' >> at.out at> <EOT> job 5 at Fri Jul 31 10:00:00 2015 d) 明天凌晨 1 点时执行任务 huey@huey-K42JE:~$ at 1am tomorrow at> echo 'hello world' >> at.out at> <EOT> job 7 at Wed May 13 01:00:00 2015 e) 周三的下午 4 点时执行任务 huey@huey-K42JE:~$ at 4pm WED at> echo 'hello world' >> at.out at> <EOT> job 8 at Wed May 13 16:00:00 2015 f) 在 2015-05-20 12:00:00 时执行任务 huey@huey-K42JE:~$ at -t "201505201200" at> echo 'hello world' >> at.out at> <EOT> job 9 at Wed May 20 12:00:00 2015 g) 列出当前用户的 at 任务列表 复制代码 huey@huey-K42JE:~$ atq 9 Wed May 20 12:00:00 2015 a huey 8 Wed May 13 16:00:00 2015 a huey 6 Tue May 12 22:21:00 2015 a huey 5 Fri Jul 31 10:00:00 2015 a huey 4 Fri May 15 16:00:00 2015 a huey 7 Wed May 13 01:00:00 2015 a huey 复制代码 h) 删除编号为 6 的任务 huey@huey-K42JE:~$ atrm 6 相关命令 atq - 相当于 at -l atrm - 相当于 at -d batch - 当系统负载许可时,也就是平均负载量低于 0.8 时,执行任务。 其用法与 at 命令类似。 其他事项 关于时间的说明可以参考 /usr/share/doc/at-3.1.10/timespec 文件。 (责任编辑:IT) |