cron程序包非常适合用于计划安排周期性运行的系统管理任务。相对而言,at命令更适合于一次性任务。
at命令会逐条执行输入的命令,且只会执行一次,ctrl+d快捷键可以结束输入。下面这句话表示在下午6点51分重启nginx服务和php-fpm模块
at 18:51
warning: commands will be executed using /bin/sh
at> service nginx retart
at> service php-fpm restart
at> <EOT>
job 1 at Mon Aug 10 18:51:00 2020
at命令可以提前几小时、几天甚至几年来安排某个任务,在at中日期的写法是:月/日/年 MM/DD/YY。下面这句话的设定在2021年6月1日下午5点重启nginx服务和php-fpm模块
[root@liukai ~]# at
at 17:00 06/01/2021
warning: commands will be executed using /bin/sh
at> service nginx restart
at> service php-fpm restart
at> <EOT>
job 3 at Tue Jun 1 17:00:00 2021
通过atp命令可以看到当前已经设置的任务, 可以看到2021年6月1日下午6点52有一个任务需要执行
[root@liukai ~]# atq
2 Tue Jun 1 18:52:00 2021 a root
使用atrm 2命令删除编号为2的任务,如下
[root@liukai ~]# atq
2 Tue Jun 1 18:52:00 2021 a root
3 Tue Jun 1 17:00:00 2021 a root
[root@liukai ~]# atrm 2
[root@liukai ~]# atq
3 Tue Jun 1 17:00:00 2021 a root