📜  Linux命令

📅  最后修改于: 2020-12-08 02:45:49             🧑  作者: Mango

随时随地使用Linux

Linux at命令用于计划任务以在指定时间执行一次,而无需编辑配置文件。它是cron作业计划程序的替代方法。如果我们要在一段时间后执行某个过程,例如关闭系统,进行备份,发送电子邮件作为提醒等,这将很有用。

at命令能够在指定的时间和日期或给定的时间间隔执行命令或脚本。我们可以使用分钟,小时,天或周来指定时间。它还允许一些关键字,例如午夜下午茶时间(用于“至下午4点”)。

注意:它不能用于重复任务,因为重复任务更喜欢Linux crontab。

atqatrm命令也是at命令的一部分。让我们简要地了解这两个命令。

atq命令: atq命令用于显示用户的待处理任务。如果该用户是root用户,它将列出所有任务。否则,它将列出特定用户的工作。显示输出的格式为任务ID,日期,小时,队列和用户名。

atrm命令:用于删除任务,由任务编号标识。

选件

“ 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命令,请执行以下命令:

sudo apt-get install at

上面的命令将要求输入系统密码,键入密码,然后按Enter键。它将启动一个守护进程,并将at命令安装到您的计算机上。考虑以下输出:

安装at命令后,我们必须启动并启用atd服务。要在引导时启动并启用atd服务,请执行以下命令:

systemctl start atd
systemctl enable atd

上面的命令将启动并启用atd服务。考虑以下输出:

在我们的计算机上启用atd服务后,我们可以安排任何任务或命令。现在,我们准备安排我们的第一个任务。让我们继续前进。

使用安排第一个任务

要计划任务,请执行at命令,后跟时间或关键字。

例如,要计划在10.20 pm备份任务,请执行以下命令:

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用户执行它,它将列出所有用户的作业。但是,如果我们不是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 AM。

要在8:00 AM安排任务,请执行以下命令:

at 8:00 AM

输出:

示例2:将任务安排在下一个星期二的8:00 AM。

要在下周二的8:00 AM安排任务,请执行以下命令:

at 8:00 AM tuesday

输出:

示例3:将任务安排在4月15日上午8:00。

要在4月15日上午8:00安排任务,请执行以下命令:

at 8:00 AM apr 15

输出:

示例4:将任务安排在明天的8:00 AM。

要计划明天的8:00 AM执行任务,请执行以下命令。

at 8:00 AM tomorrow

输出:

例5:安排任务在2小时后执行

要安排任务在2小时后执行,请执行以下命令:

at now + 2 hour

输出:

获得帮助

如果在使用“ at”命令时遇到任何困难,可以通过阅读手册从终端上寻求帮助。要显示at命令的手册,请执行以下man命令:

man at

上面的命令将显示手册,其中包含有关at命令以及支持的选项的信息。考虑以下输出:

要了解更多信息,请滚动输出并退出手册,请按“ q”键。