如何在 Linux 中使用 at 命令来调度任务?

在命令 在 Linux 中,您可以安排任务在以后的某个时间执行。 这些任务可以是命令的执行或 shell 脚本的运行。 但是,at 命令只执行一次任务。 它不能用于执行重复性任务。

在本教程中,我们将学习如何使用 at 命令。 除此之外,我们还将了解另外两个命令。 这些命令是:

  • :列出所有挂起的计划任务。
  • atrm: 删除计划任务

让我们开始吧。

注意:作业和任务这两个词在本教程中可以互换使用。

如何使用at命令来调度任务?

使用 at 命令非常简单。 你只需要提到 日期和时间 与命令一起执行。 但是,在 at 命令下有多种表示时间的方法。 在本节中,我们将了解表示时间的不同方式。

1.表示时间 时:分

您可以在 时:分 格式。 每当时钟下次与指定时间匹配时,系统将执行任务。 让我们看一个例子。

at 9:00 AM 

当你按回车时,你会得到以下输出:

您可以在此处输入要执行的命令列表。

at> ls at> echo "This command was scheduled for 9:00 AM" at> <EOT> 

要结束列表,请按 Ctrl + D。

您将获得以下输出:

job 1 at Tue Nov 17 09:00:00 2020 

这里 1 是 作业 ID f紧随其后 执行时间.

2. 安排午夜、中午和下午茶时间的任务。

您还可以安排任务 午夜、中午和下午茶时间(下午 4 点) 通过直接将这些词与 at 命令一起使用。

午夜

安排任务供午夜使用

at midnight  
午夜

中午

安排中午使用的任务

at noon  
中午中午

下午茶时间

为下午茶时间(下午 4 点)安排任务使用

at teatime  
下午茶时间下午茶时间

3. 表示日期 年月日

随着时间在 时:分 格式,您可以指定日期 年月日 格式。

让我们看一个例子。

at 1:30 093021 

这将安排一个任务 2021 年 9 月 30 日凌晨 1:30。

at> ls at> echo  "This command was scheduled for 30th September 2021" at> <EOT> 

输出 :

job 4 at Thu Sep 30 01:30:00 2021 

或者,您也可以使用 月/日/年 或者 日.月.年 或者 YYYY-MM-DD 格式来表示日期。

4. 以现在为参考点的调度任务

您还可以从现在开始安排在特定时间后执行的任务。 您可以安排任务在几分钟、几小时、几天、几周、几个月和几年后发生。 让我们看看如何在本节中做到这一点。

从现在开始安排 1 分钟的任务:

要从现在起 1 分钟内安排任务,请使用以下代码行。

at now + 1 minute 

从现在开始安排 1 小时的任务:

要从现在起 1 小时内安排任务,请使用以下代码行。

at now + 1 hour 

从现在开始安排 1 周的任务:

要从现在起 1 周内安排任务,请使用以下代码行。

at now + 1 week 

从现在开始安排 1 年的任务:

要从现在开始安排 1 年的任务,请使用以下代码行。

at now + 1 year 

使用 atq 命令列出计划任务

您可以使用 非常亲切的命令 获取等待执行的命令列表。

atq 
空气质量空气质量

输出显示每个作业及其 工作 ID, 日期和时间 执行,以及 用户 谁安排了工作。

使用 atrm 命令删除任务

你可以 使用 atrm 删除计划任务. 您需要在 atrm 命令中提及作业 ID。

atrm 2 

输出 :

资产负债表资产负债表

我们可以看到对作业 ID 为 2 的作业执行 atrm 命令前后的任务列表。

结论

本教程是关于 Linux 中的 at 命令. 我们学习了如何使用 at 命令来安排任务。 我们还讨论了 atq 和 atrm 命令。 您可以使用 man 命令进一步探索该命令。