20.任务计划-----at
一次性任务
- service atd start //启动服务
- service atd stop //关闭服务
- service atd restart //重启服务
- service atd reload //重新载入配置
- service atd status //查看服务状态
包:at
- at命令:at [option] TIME
常用选项:
- -V 显示版本信息:
- -l: 列出指定队列中等待运行的作业;相当于atq
- -d: 删除指定的作业;相当于atrm
- -c: 查看具体作业任务
- -f /path/from/somefile:从指定的文件中读取任务
- -m:当任务被完成之后,将给用户发送邮件,即使没有标准输出
注意:作业执行命令的结果中的标准输出和错误以邮件通知给相关用户
TIME:定义出什么时候进行 at 这项任务的时间
- HH:MM [YYYY-mm-dd]
- noon, midnight, teatime(4pm)
- tomorrow
- now+#{minutes,hours,days, OR weeks}
时间格式
- HH:MM 02:00
- 在今日的 HH:MM 进行,若该时刻已过,则明天此时执行任务
- HH:MM YYYY-MM-DD 02:00 2016-09-20
- 规定在某年某月的某一天的特殊时刻进行该项任务
- HH:MM[am|pm] [Month] [Date]
- 04pm March 17
- 17:20 tomorrow
- HH:MM[am|pm] + number [minutes|hours|days|weeks]
在某个时间点再加几个时间后才进行该项任务- now + 5 minutes
- 02pm + 3 days
执行方式:
-
1)交互式:ctrl+d结束
-
**2)输入重定向 **
- 3)at –f 文件
依赖与atd服务,需要启动才能实现at任务
- service atd start //启动服务
- service atd stop //关闭服务
- service atd restart //重启服务
- service atd reload //重新载入配置
- service atd status //查看服务状态
at队列存放在/var/spool/at目录中
/etc/at.{allow,deny}控制用户是否能执行at任务
- 白名单:/etc/at.allow 默认不存在,只有该文件中的用户才能执行at命令
- 黑名单:/etc/at.deny 默认存在,拒绝该文件中用户执行at命令,而没有在at.deny 文件中的使用者则可执行
/etc/at.allow优先级大于/etc/at.deny如果/etc/at.allow这个文件存在,而里面没有用户,表示禁止所有用户
- 如果两个文件都不存在,只有 root 可以执行 at 命令