at 命令允许指定Linux系统何时运行脚本。at命令会将作业提交到队列中,指定shell何时动行该作业。 at的守护进程atd会以后台的模式运行,检查作业队列来运行作业。
atd 守护进程会检查系统上的一个特殊目录(通常位于/var/spool/at)来获取用at命令提交的作业。默认情况下,atd守护进程每60秒检查一下这个目录。有作业时,atd守护过程会检查作业设置运行的时间。如果时间跟当前时间匹配,atd守护进程就会运行此作业。
at 命令格式:
at [ -f filename] time
默认情况下,at命令会将stdin输入放到队列中。 你可以用-f 参数来指定用于读取命令(脚本文件)的文件名。
time参数指定了Linux系统何时运行该作业。 如果你指定的时间已经错过,at命令会在第二天的哪个时间运行指定的作业。
相关的参数:
-m:当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
-M:不发送邮件
-l:atq的别名
-d:atrm的别名
-r:atrm的别名
-v:显示任务将被执行的时间,显示的时间格式为:Thu Feb 20 14:50:00 1997
-c:打印任务的内容到标准输出
-V:显示版本信息
-q:后面加<队列> 使用指定的队列
-f:后面加<文件> 从指定文件读入任务而不是从标准输入读入
-t:后面<时间参数> 以时间参数的形式提交要运行的任务
例如: at -f test.sh now 或 at -M -f test.sh 15:00
atq 命令可以查看系统中有哪些作业在等待。
atrm 命令用来删除等待中的作业。
只需要删除作业号即可。 如 atrm xx