Linux at命令
Linux at 命令用于安排任务在指定时间执行一次,而无需编辑配置文件。它是 cron 作业调度程序的替代方法。如果我们想在一段时间后执行一个过程,例如关闭系统、进行备份、发送电子邮件作为提醒等,它会很有用。
at 命令能够在指定的时间和日期或给定的时间间隔执行命令或脚本。我们可以使用分钟、小时、天或周来指定时间。它还允许一些关键字,例如午夜或下午茶时间(用于“到下午4点”)。
atq 和 atrm 命令也是 at 命令的一部分。让我们简要了解这两个命令。
atq 命令:atq 命令用于显示用户的挂起任务。如果用户是 root 用户,它将列出所有任务。否则,它将列出特定用户的作业。显示输出的格式为任务 ID、日期、小时、队列和用户名。
atrm 命令:它用于删除由作业编号标识的任务。
at命令的参数
“at”命令支持各种选项,以使其更具体。at 命令提供的选项如下:
- -V:它用于显示数字到标准错误并成功退出。
- -q:它用于指定队列。队列指定由一个字母组成。它的范围从 a 到 z 或 A 到 Z。队列是默认队列,b 队列用于批处理。具有较高字母的队列以更高的优先级运行。队列 '=' 是一个特殊的队列;它是为当前正在运行的作业保留的。
- -m:它用于在作业成功执行时向用户发送邮件。如果没有输出,它将起作用。
- -M:它用于从不向用户发送邮件。
- -f:它用于从文件中读取作业,而不是标准输出。
- -t:它用于指定运行作业的时间;它将采用 [[CC]YY]MMDDhhmm[.ss] 格式。
- -l:-l 选项是 atq 命令的别名。
- -r:-r 选项是 atrm 命令的别名。
- -d:-d 选项是 atrm 命令的别名。
- -b:-b 选项是批处理命令的别名。
- -v:-v 选项用于显示作业执行前的时间。
要使用 at 命令,我们必须将其安装在我们的系统上。让我们了解如何安装它。
在 Linux (Ubuntu) 中安装 at 命令
要安装 at 命令,请执行以下命令:
sudo apt-get install at
上面的命令将询问系统密码,键入密码,然后按 输入 键。它将启动一个守护进程并将 at 命令安装到您的计算机。请考虑以下输出:
安装 at 命令后,我们必须启动并启用 atd 服务。要在引导时启动并启用 atd 服务,请执行以下命令:
systemctl start atd
systemctl enable atd
上述命令将启动并启用 atd 服务。请考虑以下输出:
在我们的机器上启用 atd 服务后,我们可以安排任何任务或命令。现在,我们已准备好安排第一个任务。让我们继续前进。
使用 at 计划第一个任务
要计划任务,请执行 at 命令,后跟时间或关键字。
例如,要将任务 sh 备份安排在晚上 10:20,请按如下方式执行命令:
at 10.20 pm
warning: commands will be executed using /bin/sh
at> sh backup.sh
at> ^d
按 Ctrl+D 或 ^d 键完成任务。上述命令将安排 backup.sh 晚上 10:20。请考虑以下输出
我们还可以将以下命令用于相同的过程:
echo "sh backup.sh" | at 10.20 pm
上述命令将在晚上 10:20 执行 backup.sh。请考虑以下输出:
列出计划任务
我们可以使用 atq 命令列出所有计划任务。如果我们从根用户执行它,它将列出所有用户的作业。但是,如果我们不是root用户,它只会列出特定用户的作业。按如下方式执行命令:
atq
输出结果:
从上面的输出中,我们可以看到我们只安排了一个任务。它分别显示任务 ID、日期和时间以及用户名。
删除计划任务
我们可以使用 atrm 命令按任务 ID 删除计划任务。要删除计划作业,请执行 atrm 命令,后跟作业 ID,如下所示
atrm 2
上述命令将删除任务 ID 为 2 的任务。请考虑以下命令:
从上面的输出中,我们可以看到一个作业是否被成功删除,它不会显示任何输出。要验证作业是否已成功删除,请执行 atq 命令。
检查计划任务的内容
我们可以通过执行 atq 命令来列出任务。但是,如果我们想知道计划了什么脚本或命令,我们需要执行带有“-c”选项后跟任务 id 的 at 命令。按如下方式执行命令:
at -c 2
上述命令将显示任务 ID 为 2 的任务的内容。
at 命令的示例
at 命令的一些有用示例如下:
示例 1:将任务安排在上午 8:00。
要将任务安排在上午 8:00,请按如下方式执行命令:
at 8:00 AM
示例 2:将任务安排在下周二上午 8:00。
若要将任务安排在下周二上午 8:00,请按如下方式执行命令:
at 8:00 AM tuesday
输出结果:
示例 3:将任务安排在即将到来的 8 月 00 日上午 15:<>。
要在即将到来的 8 月 00 日上午 15:<> 安排任务,请执行以下命令:
at 8:00 AM apr 15
输出结果:
示例 4:将任务安排在明天上午 8:00。
要将任务安排在明天上午 8:00,请执行以下命令。
at 8:00 AM tomorrow
输出结果:
获取帮助
如果您在使用“at”命令时卡在任何地方,您可以通过阅读手册从终端获取帮助。要显示 at 命令的手册,请按如下方式执行 man 命令:
man at
上面的命令将显示手册,其中包含有关 at 命令以及支持的选项的信息。请考虑以下输出:
要了解更多信息,请滚动输出并退出手册,请按“q”键。
热门文章
优秀文章