HOME

at命令基础

at 命令是 Linux 系统中一个用于定时执行任务的强大工具。它允许用户在特定时间运行预先编写的脚本或程序,这使得自动化某些任务变得更加容易和灵活。

1. at 命令的基本使用

1.1 预定任务

要预定一个任务,可以使用以下基本命令格式:

at <时间>

例如,如果你想在明天早上8点执行一个脚本,可以这样操作:

at 8am + 1 day tomorrow

或者更具体地指定日期和时间:

at 08:00 2023-10-15

1.2 输入任务内容

在输入 at 命令后,系统会提示你键入要执行的内容。你可以直接键入命令或脚本,或者使用重定向操作符 < 来指定一个文件。

例如:

echo "echo 'Hello, at!' > /tmp/hello-at.txt" | at 08:30 tomorrow

这将在明天早上8点30分执行 echo 'Hello, at!' > /tmp/hello-at.txt 命令,从而在 /tmp 目录下创建一个名为 hello-at.txt 的文件。

1.3 删除任务

如果你想取消已经预定的任务,可以使用 atq atrm 命令。首先查看当前的预定任务:

atq

这会列出所有即将执行的任务以及它们的序号。例如,输出可能是这样的:

 123   2023-10-16 08:30     root

要删除一个具体的任务,可以使用 atrm 命令加上任务的序号:

atrm 123

2. 其他有用的选项

2.1 使用 -f 选项指定文件

你可以通过 -f 选项直接从文件中读取要执行的内容,例如:

at 09:00 -f /path/to/script.sh

这将会在第二天早上9点运行 /path/to/script.sh 脚本。

2.2 使用 -m 选项发送邮件通知

当你希望在任务完成后收到一封电子邮件时,可以使用 -m 选项。例如:

at 10:00 -f /path/to/script.sh -m

这将在脚本执行完毕后向你发送一封包含输出结果的电子邮件。

2.3 指定时间间隔运行任务

如果需要定期重复执行某些任务,可以使用 batch 命令代替 at。它允许按时间间隔自动调度任务。例如:

batch 10:00 -c 'command'

这会在每天的10点执行给定的命令。

3. 总结

通过熟练掌握 at 命令,你可以实现自动化管理许多日常任务和计划性工作,从而提高效率。从预定单次执行到定期调度,这个工具都能满足你的需求。