Linux 一次性计划任务 at

  • 一次性计划任务,顾名思义,就是预设某个时间点执行特定任务,设置的任务只会执行一次,其原理是调用的是at命令

  • 如果需要周期性执行计划任务,需要使用crond命令

命令格式:at [HH:MM] [yyyy-mm-dd]

任务:现在我们需要在14:50分统计系统进程数并将结果输出到/opt目录下的ps.txt文件中

[root@localhost ~]# yum -y install at     ##安装at
[root@localhost ~]# date                  ##查看系统时间
2020年 07月 01日 星期三 14:49:22 CST
[root@localhost ~]# at 14:50 2020-07-01    ##设置计划任务执行的时间
at> ps aux | wc -l > /opt/ps.txt           ##计划任务实行内容
at> <EOT>                                  ##输入完成后按键盘Ctrl+D提交任务
job 10 at Wed Jul  1 14:50:00 2020
[root@localhost ~]# atq                    ##查看已设置的计划任务
10	Wed Jul  1 14:50:00 2020 a root

[root@localhost ~]# cat /opt/ps.txt        ##待到设置的预定时间14:50后,查看是否已经执行成功
132                                        ##任务执行成功

若在设置一次性计划任务时提示:Can’t open /var/run/atd.pid to signal atd. No atd running? 如何解决?

原因分析:一般是因为at命令调用的是atd进程,如果atd进程没有开启那肯定是无法设置计划任务的。
解决方法:首先查看atd状态:/etc/init.d/atd status
        发现没有这个文件,修改atd服务的默认启动等级:chkconfig --level 35 atd on
        启动atd服务:service atd start
        再次执行一次性计划任务发现已经可以成功添加任务了
备注:atd是linux下一次性定时计划任务命令的守候进程

猜你喜欢

转载自blog.csdn.net/u014042047/article/details/107134914