Обзор
batch относится к семейству команд at и является планировщиком, который отслеживает нагрузку на систему и выполняет задачи при ее снижении. Он в основном используется для автоматической обработки ресурсоемких задач в периоды низкой загрузки системы. batch внутренне использует очередь 'b' команды at, и задачи из этой очереди выполняются только при средней нагрузке на систему ниже 0.8.
Основные характеристики
- Выполнение на основе нагрузки на систему: запуск задач при средней нагрузке ниже 0.8
- Планирование задач с синтаксисом, похожим на команду at
- Подходит для обработки ресурсоемких задач в фоновом режиме
- Возможность уведомления пользователя по электронной почте по завершении задачи (с использованием опций at)
Основные опции
Сама команда batch имеет немного прямых опций командной строки и в основном принимает команды для выполнения из стандартного ввода или файла. Ниже приведены основные способы передачи команд в batch.
Способы ввода команд
Сгенерированная команда:
Комбинируйте команды.
Описание:
`batch` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Примеры использования команды batch для выполнения определенных задач при низкой нагрузке на систему.
Планирование простой команды через стандартный ввод
batch
ls -l > /tmp/batch_output.txt
<EOT>
Сохраняет список файлов в текущем каталоге в /tmp/batch_output.txt, когда нагрузка на систему снизится.
Планирование нескольких команд через пайп
echo -e "echo 'Batch job started at $(date)'\nls -a\necho 'Batch job finished'" | batch
Планирует несколько строк команд в batch с помощью команды echo.
Планирование выполнения скрипта
echo '#!/bin/bash\necho "Hello from batch!" > /tmp/batch_hello.txt\ndate >> /tmp/batch_hello.txt' > my_script.sh
chmod +x my_script.sh
batch -f my_script.sh
Создает файл my_script.sh, а затем планирует выполнение этого скрипта с помощью batch. (Файл my_script.sh должен иметь права на выполнение.)
Установка
Команда batch является частью пакета `at`. Она может отсутствовать по умолчанию во многих дистрибутивах Linux, поэтому при необходимости вы можете установить ее с помощью следующих команд.
Системы на базе Debian/Ubuntu
sudo apt update && sudo apt install at
Системы на базе CentOS/RHEL/Fedora
sudo yum install at
Советы и предостережения
Полезные советы и моменты, на которые следует обратить внимание при использовании команды batch.
Основные соображения
- **Критерий нагрузки**: batch начинает выполнение задач при средней нагрузке на систему ниже 0.8. Это значение может варьироваться в зависимости от системных настроек, таких как файлы `/etc/at.deny` или `/etc/at.allow`, и зависит от настроек демона `atd`.
- **Переменные окружения**: Задачи, выполняемые через batch, могут не наследовать переменные окружения текущей оболочки. Поэтому рекомендуется явно устанавливать необходимые пути (PATH) и другие переменные окружения внутри скрипта.
- **Проверка журналов**: Если задача не выполняется должным образом или возникает ошибка, вы можете проверить системные журналы (например, `/var/log/syslog`, `/var/log/messages` или `journalctl -u atd`), чтобы определить причину проблемы.
- **Управление задачами**: Вы можете просмотреть запланированные задачи batch с помощью команды `atq` и отменить задачи с помощью команды `atrm`.