linux一次性计划任务-----at

at

at跟crontab一样,都是执行定时计划任务的命令。但不同的是,crontab执行的循环的任务,而at执行的是一次性任务,任务执行完以后便失效。
一次性计划任务在指定的时间执行计划的任务,执行之后,计划任务消失。使用时需注意时间设置,指定某天的某个时间点的操作,以免执行计划任务的时候,时间段错误。

相对计时法,这对于安排不久就要执行的命令是很有好处的。指定格式为:now + count time-units,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count是时间的数量,究竟是几天,还是几小时,等等。 更有一种计时方法就是直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。

语法

at 【选项】 【参数】

选项

-m:当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
-M:不发送邮件
-l:显示待执行任务的列表,atq的别名
-d:删除指定的待执行任务,atrm的别名
-r:atrm的别名
-v:显示任务将被执行的时间,显示的时间格式为:Thu Feb 20 14:50:00 1997
-c:打印任务的内容到标准输出
-V:显示版本信息
-q:后面加<队列> 使用指定的队列
-f:后面加<文件> 从指定文件读入任务而不是从标准输入读入
-t:后面<时间参数> 以时间参数的形式提交要运行的任务

相关命令

● at:在特定的时间执行一次性的任务
● atq:列出用户的计划任务,如果是超级用户将列出所有用户的任务,结果的输出格式为:作业号、日期、小时、队列和用户名
● atrm:根据Job number删除at任务
● batch:在系统负荷允许的情况下执行at任务,换言之,就是在系统空闲的情况下才执行at任务

安全的问题

不是所有用户都可以运行at任务的。因为系统安全的原因。很多主机被攻击破解后,非常有可能运用一些计划任务来运行或搜集你的系统运行信息,并定时的发送给黑客。 所以,除非是你认可的帐号,否则先不要让他们使用 at 命令。

那怎么控制用户使用 at 命令的权限呢?

在这里面有两个文件进行控制的:

/etc/at.allow: 这个文件优先被寻找,若有这个文件,则写在这个文件的使用者才能使用,没有在这个文件用户不能使用的

/etc/at.deny: 若没有/etc/at.allow这个文件,就会寻找/etc/at.deny这个文件,写在at.deny的用户是不可以使用的,没有在的就可以使用

若两个文件都没有,那么就只有root用户你可以使用这个命令

进程控制

atd.service是一次性计划任务的进程,开机是默认开启的,若没开启,也可使用systemctl流程控制。
注:若是没有atd.service这项服务,应是没有安装at,yum安装即可。

[root@linus ~]# systemctl stop atd
[root@linus ~]# systemctl start atd
[root@linus ~]# systemctl status atd

实例

例1:随意创建一个一次性计划,查看,并删除

[root@linus ~]# at 20:00 
at> echo "hello"
at> <EOT>
job 5 at Mon Feb 10 20:00:00 2020
[root@linus ~]# atq
5	Mon Feb 10 20:00:00 2020 a root
[root@linus ~]# at -l
5	Mon Feb 10 20:00:00 2020 a root
[root@linus ~]# at -d 5
[root@linus ~]# atrm 5

例2:在下午5点的时候输出 hello world

[root@linus ~]# at 17:00
at> echo "hello world"	#输入完成后,使用crtl+d提交
at> <EOT>
job 1 at Tue Feb 11 17:00:00 2020

例3:在三天后的上午8点,备份系统日志文件

[root@linus ~]# at 8am+ 3 days
at> cp /var/log/messages /backup/system.log 
at> <EOT>
job 2 at Thu Feb 13 08:00:00 2020

例4:进行一个月一次的大备份,在晚上8点将/usr/local目录进行备份

[root@linus ~]# at 8pm+ 30days
at> cp -rf /usr/local /backup/usr-local
at> <EOT>
job 3 at Wed Mar 11 20:00:00 2020
发布了20 篇原创文章 · 获赞 8 · 访问量 2660

猜你喜欢

转载自blog.csdn.net/qq_42534026/article/details/104252003