如果我们想安排一个作业在未来只运行一次(而不是使用 cron 定期安排它),我们可以使用 at 命令。
要使用 at,首先要验证 at 包已经安装,并且 atd 服务已经启动。
我们可以通过在命令提示符处输入 at launch_time 来定义 at 作业,其中 launch_time 是我们希望作业开始的时间。
(例如 12:34)。
然后,在 at> 提示符下输入要一次运行一行的命令。
完成输入命令后,按 Ctrl+d 保存作业。
以下是使用 at 命令创建作业的示例:
# at 10:40 at> echo "Hello World" > /tmp/out at> [EOT] job 3 at Sun Dec 17 10:40:00 2017
要查看 at 作业队列,请使用 atq 命令。
例如:
# atq 2 Sun Dec 17 10:37:00 2017 a root 3 Sun Dec 17 10:40:00 2017 a root
第一列中的数字是 at 作业的作业 ID。
要在执行作业之前从 at 队列中删除作业,请使用 atrm 命令。
# atrm [job_ID]
例如 :
# atrm 2
我们还可以在文本文件中输入要执行的命令。
如果这样做,则需要在 shell 提示符下输入 'at -f file launch_time ',其中文件是文件的路径和文件名。
下表列出了一些其他常用的命令和选项:
命令 | 描述 |
---|---|
atq | 显示定义的作业(包括删除作业所需的作业编号) |
atrm job_number | 删除作业(使用作业号) |
与 cron 一样,我们可以限制对 atd 守护程序的访问。
两个文件确定哪些用户可以运行 at 命令:
- /etc/at.allow :在此文件中输入的用户可以定义作业。
- /etc/at.deny :未在此文件中列出的用户可以定义作业。
这些文件是我们可以修改或者创建的文本文件。
如果 /etc/at.allow 文件存在,则仅评估此文件。
如果这两个文件都不存在,则只有 root 用户可以定义 at 作业。
日期:2020-09-17 00:13:50 来源:oir作者:oir