at 命令生成器
生成at命令,用于安排在将来某个时间运行的单次命令或脚本
开始使用 at
## 这是做什么的?
`at`用于安排在将来某个时间**一次性**执行某个命令或脚本。当您需要某件事仅执行一次时(例如“2小时后备份此文件”),它就是合适的工具,而`cron`则是按预定时间表重复执行的工具。同时,必须确保`atd`守护进程正在运行。
## 使用方法
1. **设置时间**:输入类似`now + 5 minutes`、`10:30`、`teatime`(下午4点)或`tomorrow 9am`这样的时间表达式。 2. **可选:加载脚本**:使用`-f script.sh`来运行文件,而无需手动输入命令。 3. **管理任务**:`-l`可列出已排队的任务,`-d N`可删除第N个任务,`-c N`可显示第N个任务的完整命令。 4. **复制并运行**:输入`at <time>`后,系统会进入交互式提示符,您可以在其中输入命令(输入Ctrl-D即可结束),除非使用了`-f`。
时间格式与选项
### 时间表达方式 `at` 支持多种常见的时间表达形式:`now + 5 minutes`、`now + 1 hour`、`10:30`、`10:30 AM`、`midnight`、`noon`、`teatime`(如下午4点)、`tomorrow`、`tomorrow 9am`、`MM/DD/YYYY` 或 `next Friday`。
### `-f FILE` 运行脚本 无需在命令提示符处手动输入,可直接提交文件内容作为任务:`at -f backup.sh now + 1 hour`。
### `-q QUEUE` 选择队列 使用字母 a–z 来选择队列;a 为默认的 at-jobs 队列,b 用于批处理(负载控制型)。每个队列在`/etc/at.deny`/`at.allow`中可设置各自的负载限制。
### `-l` / `-d N` / `-c N` 列出、删除、查看内容 `-l` 可列出待处理的任务;`-d 5` 用于删除第5个任务;`-c 5` 会显示第5个任务将运行的环境及命令。
### `-m` 任务完成后发送邮件 即使没有输出结果,任务完成后也会向用户发送邮件。
### `-v` 详细模式 在读取任务内容之前,会先打印出精确的预定执行时间。
▶at 与 cron — 有什么区别?
▶at 命令返回“无法找到 atd”——这是怎么回事?
▶如何安排脚本在30分钟后运行?
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。