之前记录博客有介绍crontab的使用linux at 执行脚本,crontab是周期性执行某一项任务,如每周一的8点固定给用户发送周刊读物,或则每晚下午三点执行备份数据库的脚本,那些都是带有规律的周期性执行任务。而昨天介绍的at命令与crontab不同,linux的at命令只是在固定的时间执行任务一次,即单次执行的任务。
检测at服务的启动状态
/etc/init.d/atqstatus可检测服务的运行状态。
启动atq
执行:atq
at格式:
at#执行的时间#
at->#执行的任务脚本#
at->#执行的任务脚本#
at->
在命令行输入at,之后指定执行的时间,在输入enter键换行,接出来输入要执行的任务,多任务继续输入enter键换行隔开。输入的任务完毕,此时按下ctrl+d,则会出现“at->”,此时输入完毕。屏幕下边会出现类似“job3at2018-01-1412:17”的字样linux at 执行脚本,证明任务指定成功。
下边看实例:
指定执行时间,明天的12:17分将时间写入到index文本中。
再通过vim命令打开index.html文件。我们可以看见时间早已写入到index.html文件里了。
须要特地说明一下,里面输入执行的12:17分,假如当天时间早已过了,则会在第二天12:17分执行。
比如当前时间为12:20,倘若输入一个12:00执行的任务linux find,则会在输入命令后,提示第二天执行:
也可以使用相对时间linux软件下载,如一分钟之后执行任务
再试试未来的绝对时间,如2018年1月15日下午执行任务
以上我们就基本把握了at命令的执行方式。at指定的时间还有好多,例如指定teatime,就是晚上的4点执行。并且最常用的就是前面列举的。设置了任务,还可以查看任务。
列举当前待执行的任务,atq:
取消待执行列表中的任务,使用atrm任务编号: