at命令
类似于Windows的计划任务,at命令从标准输入读取命令,并将命令分组成at-job,然后在指定时间执行,当提交一个at-job后,at-job-id就会被输出到标准错误中。
语法
at [-m][-f file][-q queuename] -t time_arg
at [-m][-f file][-q queuename] timespec ...
at -r at_job_id ...
at -l -q queuename
at -l [at_job_id ...]
例子
Demo 1
1. 创建一个任务,并且在两份钟后执行,这个任务只是输出一段文字并从定向到一个文字中。
2. 时间到了之后ls一下,发现文件被创建,并显示出内容,与预期一致。
3. 显示当前时间。
Demo 2
1. 创建一个任务,并且在两份钟后执行,这个任务只是输出一段文字并从定向到一个文字中。
2. 时间到了之后ls一下,发现文件被创建,并显示出内容,与预期一致。
3. 显示当前时间。
选项
-q
使用指定的队列(queue),每个队列会指定一个字符,合法的字符是从a~z和A~Z,at的默认队列是a,b是batch的默认队列,=队列是个特殊队列,表示当前正在运行的队列。
-m
任务执行完以后会发送邮件,即便没有任何输出也会发送邮件。
-M
与m选项刚好相反,这个是不发送邮件。
-f file
从文件中读取任务,而不是从标准输入。
-t time
在time时间执行任务,时间格式为[[CC]YY]MMDDhhmm[.ss].
-l
执行at -l 与atq是一样的,将显示所有的任务,如果指定了at_job_id将显示对应任务。
-r
与atrm一样,将at_job_id的job从序列中移除。