atd服务
linux操作系统下定时计划任务,只执行一次的计划任务
查看服务状态
# 查看atd服务状况
systemctl status atd
# 开启atd服务
systemctl start atd
at权限管理
当使用at来产生新的任务时,该任务就会以文本文件形式被放到/var/spool/at目录下。
ll /var/spool/at/
total 8
-rwx------ 1 root root 2971 Nov 10 10:43 a0000101a02fc5
drwx------. 2 root root 4096 Oct 31 2018 spool
cat /etc/at.deny
cat /etc/at.allow
对于at的权限管理,系统有两个专门的文件来指定。这两个文件,其实就和我们理解的黑白名单一样。这两个文件分别是/etc/at.deny(黑名单)、/etc/at.allow(白名单)。系统默认的at.deny的内容为空,而对于/etc/at.allow系统默认是不存在的。如果这两个文件都不存在,则只有root用户可以使用at命令。
at 命令详解
配置定时计划任务
使用at命令设置计划任务 at [-m] 时间,常用的时间格式——HH:MM YYYY-MM-DD,此外还可以使用英文的now +1 minutes类似形式设置
# at 11:00 2021-11-10
# at 11:00
at> date >> /home/admin/at.txt
at> <EOT> <=== 这里输入ctrl+d来结束
job 2 at Wed Nov 11 11:00:00 2021
# at now +2 minutes
at> date >> /root/at.txt
at> <EOT>
job 3 at Wed Nov 7 11:01:00 2021
查看定时计划任务
# at -l
3 Wed Nov 10 11:10:00 2021 a root
# atq
3 Wed Nov 10 11:10:00 2021 a root
# at -c
# 查看定时计划任务详细信息
移除定时计划任务
还未执行的计划任务,可以通过at -d或atrm来删除
# at -d 3
# atrm 6