第十六章: 例行性工作(只执行一次)
at 命令详解
1. 命令行输入 : at + 时间
- at now + 5 minutes
- at 23:00 2018-12-12
2. 对话窗口 : 输入要执行的命令(建议绝对路径)
- `/bin/mail root -s "testing" < /root/.bashrc`
- 不加绝对路径的后果
- 前提 : 在/tmp 中执行命令
- 输入 : `/bin/mail root -s "test" < .bashrc`
- - 结果 : `.bashrc == /tmp/.bashrc`,凉凉
3. 结束标志 : 按下
4. 最终结果
- 小白可能会发现
命令过程详细解释
atd 其实是一种服务
1. 用户执行 at 命令
2. 用户输入工作命令
- /etc/at.allow 查找该用户,如果没有,凉凉 --- 不会告诉你不行,只是最后你输入的命令根本就不起作用了
- /etc/at.deny 查找该用户,如果有,凉凉 --- 不会告诉你不行,只是最后你输入的命令根本就不起作用了
- 如果上面都通过,将工作命令 /var/spool/at
- PS: 不同系统 不一样!! 一定要 man at 查看
3. atd 服务会取用并执行
at 服务管理
1. atq : 查看目前主机有多少 at 工作调度
2. atrm n : 删除第n个工作
3. batch : 系统有空才就行后台任务
- 命令操作 : 和at一模一样
- 命令说明 : 但是他可以 当 CPU 工作负载 小于 0.8 时才会执行命令
- 命令补充 : batch 完之后,atd服务增加一个batch 语句服务,到了对应时间,详细执行batch里面语句。如果大于0.8不执行的功能是由batch语句完成的