带有at、atq、atrm和批处理示例的Linux调度命令

在IT环境中调度命令非常重要。有一些工具像 at , atq , atrm , batch . 我们将在本教程中查看它们。

null

安排作业时间

在安排作业时,我们将使用 at 命令。在指挥部有非常因果的时间规定。我们将在下一个示例中详细介绍可变时间规范。现在我们只需安排工作。

$ at 20:58
Schedule Job At
安排作业时间

我们要跑了 mkdir test 命令 在 20:58 . 为了实现这一点,我们运行以下步骤。

  • at 20:58 将在运行以下命令 20:58
  • mkdir test 是我们要在指定时间运行的命令
  • 我们可以为每一行提示提供多个命令,但是可以用 CTRL+d 输出如下

时间格式

at 命令支持许多不同类型的时间规范。这里有一些。

  • noon 将运行12:00 PM
  • midnight 上午12点开始
  • teatime 将运行下午4:00
  • tomorrow 将运行 第二天同一时间
  • next week 将于下周运行
  • fri 星期五开始
  • next monday 下周一开始
  • now + 1 hour 将在1小时后运行
  • now + 3 weeks 将在3周后运行

用相对时间安排作业

正如我们在前面的例子中看到了很多不同的时间表达式,我们可以在我们的例子中使用它们。在本例中,我们将相对地设置时间,这意味着我们将根据当前时间设置时间。指定我们将使用的相对时间 now 时间说明符 count . 在本例中,我们将命令设置为在15分钟后运行。

$ at now + 15 minutes
Schedule Job With Relative Time
用相对时间安排作业

我们可以从截图中看到,命令设置为在 21:31 15分钟后。我们可以看出这项工作是有限的 2

查看所有计划作业

在繁忙的系统中,可能会有许多计划的作业。列出它们可以通过 atq 命令。

$ atq
View All The Schedules Jobs
查看所有计划作业

我们可以看到名单上只有一份工作。这份工作编号为 2 . 此作业将在 Thu Mar 9 21:31:00 . 作业由用户创建 ismail

删除计划的作业

我们还可以删除未运行的作业。我们需要的工作ID,可以列出与 atq公司 . 我们将提供工作ID给 atrm 命令如下。我们将删除作业ID 2 .

$ atrm 2
Remove/Delete A Scheduled Jobs
删除计划的作业

根据平均负载执行作业

我们可以为工作安排不同的时间。但有时仅仅设定时间是不够的或不适合我们的情况。我们可以使用另一种方法来调度命令 batch 如果平均负载小于 1.5 . 在本例中,我们将运行 echo "Run reports"

$ batch
Execute Jobs According to Load Average
根据平均负载执行作业

从文件重新加载作业

另一个有用的特性是从文件中读取命令。正如我们所知,命令是从交互式shell读取的。我们可以提供在预定时间运行的命令。我们将使用 -f 选项和命令文件名来使用此功能。在本例中,我们将读取名为 myjobs.txt 两天后运行。

$ at -f myjobs.txt now + 2 days
Reload Jobs From A File
从文件重新加载作业

允许和拒绝用户计划作业

默认情况下,Linux系统中的所有用户都可以创建计划作业。这可能会造成一些问题或安全问题,或者只是不必要的情况。我们可以设置规则来允许或拒绝某些用户调度命令。

相关文章: Windows MSDOS批处理文件命令

有两个配置文件可以配置此。

  • at.allow 用于设置允许的用户
  • at.deny 用于设置被拒绝的用户
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享