首页 > 系统 > Linux > 正文

Linux 命令

2024-06-28 13:20:40
字体:
来源:转载
供稿:网友
linux 命令 - at: 在指定的时间执行任务

在指定的时间执行任务。

命令格式

at [-V] [-q queue] [-f file] [-mldbv] TIMEat [-V] [-q queue] [-f file] [-mldbv] -t time_argat -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 minutesat> echo 'hello world' >> at.outat> <EOT>job 3 at Tue May 12 22:16:00 2015

b) 3 天后下午 4 点时执行任务

huey@huey-K42JE:~$ at 4pm + 3 daysat> echo 'hello world' >> at.outat> <EOT>job 4 at Fri May 15 16:00:00 2015

c) 7 月 31 号上午 10 点时执行任务

huey@huey-K42JE:~$ at 10am Jul 31at> echo 'hello world' >> at.outat> <EOT>job 5 at Fri Jul 31 10:00:00 2015

d) 明天凌晨 1 点时执行任务

huey@huey-K42JE:~$ at 1am tomorrowat> echo 'hello world' >> at.outat> <EOT>job 7 at Wed May 13 01:00:00 2015

e) 周三的下午 4 点时执行任务

huey@huey-K42JE:~$ at 4pm WEDat> echo 'hello world' >> at.outat> <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.outat> <EOT>job 9 at Wed May 20 12:00:00 2015

g) 列出当前用户的 at 任务列表

huey@huey-K42JE:~$ atq9Wed May 20 12:00:00 2015 a huey8Wed May 13 16:00:00 2015 a huey6Tue May 12 22:21:00 2015 a huey5Fri Jul 31 10:00:00 2015 a huey4Fri May 15 16:00:00 2015 a huey7Wed 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 文件。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表