linux中有两种定时任务:
1、at:一次性定时任务,仅执行一次就结束调度的命令;
2、crontab:周期性定时任务;
一、crontab的定时任务请参考:
https://blog.csdn.net/lxblxblx/article/details/103041109.
二、at:at是可以处理仅执行一次就结束调度的命令
1、atd服务启动,其负责调度服务
/etc/init.d/atd restart (重启atd服务)
chkconfig atd on (检测atd状态)
2、at的工作
1)、使用at命令生成要运行工作,并将这个工作以文件的方式写入/var/spool/at/目录内,然后等待atd服务的调取执行
2)、其也可使用/etc/at.allow和/etc/at.deny两个文件进行权限限制
先查询/etc/at.allow文件,写在此文件中的用户才能使用at,没有在此文件中的用户则不能使用at,也不会查询/etc/at.deny(此文件第一作用,即/etc/at.deny作用无效)
如果/etc/at.allow不存在,就查询/etc/at.deny文件,写在此文件的用户则不能使用at,而没有在at.deny中的用户可以使用at
如果/etc/at.allow和/etc/at.deny两个文件都不存在,则只有root可以使用at命令
3、at的使用
at [-mldv] | |
---|---|
-m | at工作完成后,以email通知该用户工作完成 |
-l | at -l等价于atq,列出该用户的所有at调度 |
-d | at -d等价于atrm,可以取消一个at调度中的工作 |
-v | 可以使用较明显的时间格式列出at中的任务调度 |
at -c number | -c:可以列出对应工作的实际命令内容 |
4、at添加工作:at TIME
1)TIME的格式:
HH:MM |
---|
HH:MM YYYY-MM-DD |
HH:MM YYYY-MM-DD |
HH:MM[am|pm] [Month] [Date] |
HH:MM[am|pm] + number [minutes|hours|days|weeks](now + 5 minutes) |
2)设置任务
3) 即Ctrl + d结束