linux定时任务之at的使用

    之前记录博客有介绍crontab的使用,crontab是周期性执行某一项任务,如每周一的8点固定给用户发送周刊读物,或者每天凌晨三点执行备份数据库的脚本,这些都是带有规律的周期性执行任务。而今天介绍的at命令与crontab不同,linux的at命令只是在固定的时间执行任务一次,即单次执行的任务。

检查at服务的启动状态

/etc/init.d/atq status  可检查服务的运行状态。

启动atq

执行:atq

at格式:

at #执行的时间#

at->#执行的任务脚本#

at->#执行的任务脚本#

at->

在命令行输入at,然后指定执行的时间,在输入enter键换行,接下来输入要执行的任务,多任务继续输入enter键换行隔开。输入的任务完毕,此时按下ctrl+d,则会出现“at-> ”,此时输入完毕。屏幕底下会出现类似“job 3 at 2018-01-14 12:17”的字样,证明任务指定成功。

下面看实例:

指定执行时间,今天的12:17分将时间写入到index文本中。

再通过vim命令打开index.html文件。我们可以看到时间已经写入到index.html文件里了。

linux定时任务之at的使用_第1张图片

需要特地说明一下,上面输入执行的12:17分,如果当天时间已经过了,则会在第二天12:17分执行。

例如当前时间为12:20,如果输入一个12:00执行的任务,则会在输入命令后,提示第二天执行:

也可以使用相对时间,如一分钟以后执行任务

再试试未来的绝对时间,如2018年1月15日凌晨执行任务

以上我们就基本掌握了at命令的执行方法。at指定的时间还有很多,比如指定teatime,就是下午的4点执行。但是最常用的就是上面列出的。设置了任务,还可以查看任务。

列出当前待执行的任务,atq:

取消待执行列表中的任务,使用atrm 任务编号:

你可能感兴趣的:(linux定时任务之at的使用)