Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

24.4. 使用批处理调度作业在系统负载 Drop 上运行

若要计划一次性任务(也称为作业),以在系统负载平均值低于指定值时运行,请使用 batch 实用程序。这对于执行资源需求任务或防止系统处于空闲状态非常有用。

用户使用 批处理 实用程序指定 批处理作业。然后,作业由 atd 服务执行。

24.4.1. 批处理作业的先决条件

批处理 实用程序在 at 软件包中提供,批处理 作业由 atd 服务管理。因此,批处理 作业的先决条件与 at 作业的前提条件相同。请参阅 第 24.3.1 节 “at Jobs 的先决条件”

24.4.2. 调度批处理作业

  1. 作业始终由某些用户运行。以所需用户身份登录并运行:

    ~]# batch
  2. 在显示 at> 提示符处,输入要执行的命令并按 Enter:

    ~]# batch
    at> sh /usr/local/bin/my-script.sh

    对您要执行的每个命令重复此步骤。

    注意

    at> 提示符显示它将使用哪个 shell:

    warning: commands will be executed using /bin/sh

    批处理 实用程序使用用户的 SHELL 环境变量或用户的登录 shell 或 /bin/sh (以先到者为准)中设置的 shell。

  3. 在空行中按 Ctrl+D 完成指定作业。
注意

如果一组命令或脚本尝试显示标准输出的信息,则输出会通过电子邮件发送给用户。

更改默认系统负载平均值限制

默认情况下,当系统负载平均值低于 0.8 时,批处理 作业会启动。此设置保存在 atq 服务中。更改系统负载限制:

  1. /etc/sysconfig/atd 文件中添加以下行:

    OPTS='-l x'

    x 替换为新的负载平均值。例如:

    OPTS='-l 0.5'
  2. 重启 atq 服务:

    # systemctl restart atq
查看待处理作业

要查看待处理作业的列表,请使用 atq 命令。请参阅 “查看待处理作业”一节

删除调度的作业

若要删除计划的作业,可使用 atrm 命令。请参阅 “删除调度的作业”一节

控制对批处理的访问

您还可以限制 批处理 实用程序的使用。这是针对 批处理 以及 实用程序 一起完成的。请参阅 第 24.3.2.1 节 “控制对 At 和 Batch 的访问”