Skip to content

第十六章: 例行性工作(只执行一次)

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语句完成的

Comments