You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.6 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

at
===
在指定时间执行一个任务
## 补充说明
**at命令** 用于在指定时间执行命令。at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:mm小时:分钟式的时间指定。假如该时间已过去那么就放在第二天执行。当然也能够使用midnight深夜noon中午teatime饮茶时间一般是下午4点等比较模糊的 词语来指定时间。用户还能够采用12小时计时制即在时间后面加上AM上午或PM下午来说明是上午还是下午。 也能够指定命令执行的具体日期指定格式为month day 或mm/dd/yy月/日/年或dd.mm.yy日.月.年)。指定的日期必须跟在指定时间的后面。
上面介绍的都是绝对计时法,其实还能够使用相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:`now + count time-units`now就是当前时间time-units是时间单位这里能够是minutes分钟、hours小时、days、weeks星期。count是时间的数量究竟是几天还是几小时等等。 更有一种计时方法就是直接使用today今天、tomorrow明天来指定完成命令的时间。
### 语法
```
at(选项)(参数)
```
### 选项
```
-f指定包含具体指令的任务文件
-q指定新任务的队列名称
-l显示待执行任务的列表
-d删除指定的待执行任务
-m任务执行完成后向用户发送E-mail。
```
### 参数
日期时间:指定任务执行的日期时间。
### 实例
三天后的下午 5 点锺执行`/bin/ls`
```
[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00
```
明天17点钟输出时间到指定文件内
```
[root@localhost ~]# at 17:20 tomorrow
at> date >/root/2013.log
at> <EOT>
job 8 at 2013-01-06 17:20
```
计划任务设定后在没有执行之前我们可以用atq命令来查看系统没有执行工作任务
```
[root@localhost ~]# atq
8 2013-01-06 17:20 a root
7 2013-01-08 17:00 a root
```
删除已经设置的任务:
```
[root@localhost ~]# atq
8 2013-01-06 17:20 a root
7 2013-01-08 17:00 a root
[root@localhost ~]# atrm 7
[root@localhost ~]# atq
8 2013-01-06 17:20 a root
```
显示已经设置的任务内容:
```
[root@localhost ~]# at -c 8
#!/bin/sh
# atrun uid=0 gid=0
# mail root 0
umask 22此处省略n个字符
date >/root/2013.log
```
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->