其他
Linux at命令详解
The following article is from 良许Linux Author 良许
at
命令就是为这个需求而诞生的。使用 at
命令,你可以在特定时间自动完成你所设定的任务,也可以实现自动化,非常方便快捷!安装 at 命令
at
命令,不确定的话可以使用 at -V
命令查看,如果有版本返回,说明就可以正常使用 at
命令。at version 3.1.13
atd
。在大多数 Linux 系统上,你可以使用 systemctl
命令启用 atd
服务并将它们设置为从现在开始自动启动:at 命令基本用法
语法
选项
-q:指定新任务的队列名称
-l:显示待执行任务的列表
-d:删除指定的待执行任务
-m:任务执行完成后向用户发送 E-mail
参数
使用 at 命令交互性安排任务
at
命令,然后再跟上具体的时间。at-test.txt
文档里写入 hello world
这句话,可以这样交互性输入:warning: commands will be executed using /bin/sh
at> echo "hello world" > ~/at-test.txt
at>
job 3 at Mon Jul 26 11:20:00 2021
at
命令使用直观和自然的时间格式。你不需要知道 24 小时制或将时间转换为 UTC 格式。通常,可以直接使用我们生活中常用的单词它就能理解,例如noon、 1:30 PM、 13:37等。cat
命令检查一下 at-test.txt
文件是否有内容写入:hello world
使用 at 命令安排任务
at
命令安排任务,可以使用管道将 echo
或 printf
的值传递给 at
命令。at-test.txt
文件写入 hello again
语句:hello world
hello again
时间表达式
at
命令使用的是我们日常生活中所使用的时间格式,非常方便:YYMMDDhhmm[.ss] (缩写年、月、日、小时、分钟[秒]) CCYYMMDDhhmm[.ss] (完整年、月、日、小时、分钟和[秒]) now midnight noon teatime`(下午4点) AM PM
minutes hours days weeks months years
at
命令有效表达式的示例:$ echo "/opt/batch.sh ~/Pictures" | at 3:30 AM 08/01/2022
$ echo "echo hello" | at now + 3 days
查看 at 任务队列
at
命令队列时设置了多少个任务,如果你想进行查看,可以使用 atq
命令:10 Thu Jul 29 12:19:00 2021 a tux
9 Tue Jul 27 03:30:00 2021 a tux
7 Tue Jul 27 00:00:00 2021 a tux
atrm
命令和任务编号。例如要删除任务 7 :$ atq
10 Thu Jul 29 12:19:00 2021 a tux
9 Tue Jul 27 03:30:00 2021 a tux
at spool
。只有 root 用户才能查看at
spool,因此你必须使用 sudo
来查看 spool
或 cat
任务的内容。小结
at
命令是避免忘记在将来特定时间的任务或在你离开时让计算机为你运行任务的非常好的方式。与 cron
命令不一样的是,它不需要使任务从现在一直循环运行,因此它的语法比 cron
简单得多。at
命令。 推荐阅读:
每日打卡赢积分兑换书籍入口