【Linux】 at命令详解
目录
使用 at 命令,你可以在特定时间自动完成你所 设定的任务,也可以实现自动化,非常方便快捷!
一、安装 at 命令
使用下面的命令安装:yum install at -y
安装成功后使用 systemctl 命令启用 atd 服务并将它们设置为从现:systemctl start atd
再开始自动启动: systemctl enable --now atd
二、at 命令基本用法
语法: at [选项] [日期时间]
选项:
-f:指定包含具体指令的任务文件
-q:指定新任务的队列名称
-l:显示待执行任务的列表
-d:删除指定的待执行任务
-m:任务执行完成后向用户发送 E-mail 参数 日期时间:指定任务执行的日期时间
使用 at 命令交互性安排任务
首先你输入 at 命令,然后再跟上具 体的时间。 回车之后就进入到交互性界面,你再具体输入要做的事情(命令),最后以结束输 入,任务就设置好了。
例如:
你想在早上 11:07 的时候,在 1.txt 文档里写入 123 这句 话,可以这样交互性输入:
输入完所要执行的任务后按回车,再按Ctrl+d 就表示结束输入,等时间一到,用cat命令查看:
可能出现的问题:
原因:服务没有启动
解决方法:
systemctl restart atd #使用该命令启动服务
就成功啦:
使用 at 命令安排任务
如果你不想使用交互的方式来给 at 命令安排任务,可以使用管道将 echo 或 printf 的值传递给 at 命令。
比如,我想从现在开始一分钟后向 家目录下的1.txt 文件写入 hello again 语句:
echo "echo 'hello again' >> ~/1.txt" | at now +1 minute
查看结果:
查看 at 任务队列
随时间的推移,我们可能忘记在 at 命令队列时设置了多少个任务,如果你想进行 查看,可以使用 atq 命令,也可以使用at -l命令:
要从队列中删除任务,请使用 atrm 命令和任务编号。例如要删除任务 11 :
显示已经设置的任务内容,请使用at -c参数加任务id号查看;