Как планировать задачи с помощью команды AT

В Linux, когда мы хотим заставить наш компьютер выполнять задачи автоматически, мы используем нечто, называемое планировщик. Это все равно что сказать компьютеру: «Сделай это в это время». Это облегчает нашу работу, поскольку нам не нужно помнить о необходимости выполнять эти задачи самостоятельно. Один из способов сделать это – использовать команду at. Команда at может служить альтернативой команде cron, когда необходимо выполнить задачу только один раз в определенное время в будущем.

Команда «at« позволяет запланировать выполнение задач на определенное время. Так, если мы хотим, чтобы компьютер сделал что-то вроде создания резервной копии или отправки сообщения электронной почты, мы можем использовать команду at, чтобы указать ему, когда это сделать. Это похоже на установку будильника для компьютера, чтобы он выполнял задания.

Что такое команда Linux – at?

Команда at в Linux используется для планирования выполнения одноразовой задачи в определенное время в будущем. Она позволяет указать конкретное время выполнения команды или скрипта.

Команда at может быть полезна для автоматизации одноразовых задач, таких как резервное копирование файлов, запуск скриптов или отправка электронной почты.

Что использовать cron или at?

При планировании задач вы можете столкнуться с терминами «cron « и «at « и задаться вопросом о различиях между командами cron и at в среде Linux.

Команда at и команда cron используются для планирования задач в Linux, но они имеют явные различия в том, как они работают и когда их лучше использовать.

Утилита cron позволяет планировать повторяющиеся задачи через определенные промежутки времени, в то время как команда at позволяет указать одноразовые действия, которые должны быть выполнены в нужное время. Например, с помощью команды crontab можно запланировать ежедневное резервное копирование на 2 часа ночи, что обеспечит его многократное выполнение. И наоборот, с помощью команды at можно создать напоминание о более поздней встрече в течение дня для однократного выполнения.

По сути, команду at мы обычно используем для одноразовых задач, запланированных на определенное время, а команду cron – для автоматизированных, повторяющихся задач, которые должны выполняться регулярно.

Выбор между ними зависит от характера ваших задач и частоты их выполнения.

Установка at в Linux

Команда at обычно предустановлена во многих дистрибутивах Linux. Однако если она отсутствует в вашей системе, вы можете установить ее с помощью менеджеров пакетов, специфичных для вашего дистрибутива. Ниже приведены шаги по установке для некоторых распространенных дистрибутивов Linux:

Alpine Linux

sudo apk add at

Arch Linux / Endeavour OS / Manjaro Linux

sudo pacman -S at

Debian / Ubuntu / Linux Mint / Pop!_OS

sudo apt update
sudo apt install at

RHEL / CentOS Stream / Fedora / AlmaLinux / Rocky Linux

sudo dnf install at

В старых системах RHEL используйте yum, а не dnf.

sudo yum install at

После завершения установки можно начать использовать команду at для планирования задач на определенное время.

Запуск службы „at“

После установки служба atd должна запуститься автоматически. Если она не запущена, ее можно запустить и включить с помощью следующих команд:

sudo systemctl start atd
sudo systemctl enable atd

Примеры команд Linux at

Команда Linux at проста в использовании. Вы просто указываете время, в течение которого должна выполняться задача, и команду, которую Вы хотите запустить. После этого команда at создаст файл задания и сохранит его в каталоге /var/spool/cron/atjobs/. Когда наступит указанное время, команда at выполнит файл задания.

Здесь приведены примеры использования команды at для планирования одноразовых задач в Linux.

1. Планирование заданий в интерактивном режиме с помощью команды „at“

Команда at позволяет планировать задания в интерактивном режиме, используя следующий синтаксис:

at [runtime]

При выполнении этой команды открывается интерактивное приглашение, в котором можно ввести команды, которые необходимо выполнить в указанное время. Кроме того, команда выводит предупреждение, указывающее на оболочку (например, /bin/sh), которая будет использоваться для выполнения запланированного задания.

Чтобы сохранить запланированное задание и выйти из интерактивного окна, нажмите Ctrl + D. Если вы хотите отменить задание до его сохранения, то можете использовать Ctrl + C.

Посмотрите на следующий пример.

at 2:37 PM
echo "Hello, Welcome to OSTechNix!" > /tmp/greeting.txt
<Ctrl+D>

В этом примере команда echo будет запланирована на 14:37. В указанное время в файл /tmp/greeting.txt будет записан вывод «Hello, Welcome to OSTechNix!».

После планирования задания дождитесь истечения указанного времени. По истечении указанного времени можно проверить, сохранилось ли сообщение в файле greeting.txt, расположенном в каталоге /tmp.

sudo cat /tmp/greeting.txt[sudo] password for ostechnix:Hello, Welcome to OSTechNix!

Да, задание успешно выполнено в указанное время.

В данном примере мы запланировали выполнение команды echo "Hello, Welcome to OSTechNix!" > /tmp/greeting.txt в определенное время с помощью команды at. По истечении запланированного времени мы проверили содержимое файла greeting.txt, чтобы убедиться, что сценарий успешно выполнился и сохранил сообщение, как и ожидалось.

2. Список запланированных заданий

Вы можете вывести список всех запланированных заданий в очереди at, используя команду:

atq

Пример вывода:

4 Wed Aug 8 14:37:00 2023 a ostechnix

Команда atq выводит список запланированных заданий в очереди „at“. Отображаемая информация включает в себя номер задания, дату, время, год и статус очереди для текущих заданий пользователя. В данном случае задание №4 запланировано на 14:37 8 августа 2023 года для пользователя ostechnix.

Для просмотра отложенных заданий для всех пользователей выполните команду с правами администратора:

sudo atq

Приведенная выше команда извлекает список отложенных заданий at, а при выполнении команды sudo предоставляет обзор отложенных заданий для всех пользователей системы.

Для просмотра запланированных заданий можно также использовать флаг -l с командой „at„.

at -l

Флаг at -l является просто алиасом для команды atq.

3. Предварительный просмотр запланированных заданий

С помощью опции -c можно просмотреть содержимое задания, которое ранее было запланировано с помощью команды at. Эта опция может пригодиться, если необходимо узнать подробности задания или проверить его запланированное время.

Чтобы просмотреть содержимое запланированного задания at, выполните следующую команду

at -c [job_number]

Пример:

at -c 7

Пример вывода:

#!/bin/sh
# atrun uid=1000 gid=1000
# mail ostechnix 0
umask 22
LANGUAGE=en_IN:en; export LANGUAGE
PWD=/home/ostechnix; export PWD
LOGNAME=ostechnix; export LOGNAME
XDG_SESSION_TYPE=tty; export XDG_SESSION_TYPE
[...]

Для определения конкретного номера задания необходимо первоначально выполнить команду atq. В результате будет получен список всех ожидающих выполнения заданий с указанием их номеров.

4. Передача задания команде „at“

Вы можете запланировать задание без использования интерактивного приглашения at. Для этого используются команды типа echo или printf для передачи команд команде at с указанием желаемого времени выполнения.

Например, чтобы запланировать задание at, которое принимает вывод команды echo и записывает его в файл, можно использовать:

echo "Welcome to the tutorial on Linux 'at' Command" >> Linux_at_command.txt | at now

Это задание будет немедленно запущено.

Пример вывода:

warning: commands will be executed using /bin/shjob 6 at Wed Aug 9 12:50:00 2023

После планирования задания можно проверить его выполнение, проверив существование файла с помощью команды cat:

cat Linux_at_command.txt 
Welcome to the tutorial on Linux 'at' Command

Таким образом, можно эффективно планировать задания с помощью команды at без необходимости интерактивного ввода каждой команды отдельно.

5. Сценарии планирования

Не только команды, мы также можем запланировать выполнение скрипта на определенное время с помощью команды at, как показано ниже.

at 2:00 AM tomorrow
/path/to/my_script.sh
<Ctrl+D>

В данном примере выполнение скрипта my_script.sh будет запланировано на 2:00 утра следующего дня. Пожалуйста, замените путь к скрипту на свой собственный.

Давайте посмотрим практический пример, чтобы вы могли понять его наглядно.

  1. Создание скрипта с именем testscript.sh:
    cat << EOF > testscript.sh
    > echo "Hello, Welcome to OSTechNix!" > /tmp/greeting.txt
    > EOF

    Данная команда использует heredoc (<<) для создания скрипта с именем testscript.sh с содержимым, которое следует до EOF. Скрипт просто эхо-сигнал с текстом «Hello, Welcome to OSTechNix!» в файл с именем /tmp/greeting.txt.
  2. Сделать скрипт исполняемым:
    sudo chmod +x testscript.sh

    Эта команда дает скрипту testscript.sh разрешение execute, используя chmod. Теперь скрипт может выполняться как самостоятельная программа.
  3. Проверка текущей даты и времени:
    date

    Пример вывода:
    Wednesday 09 August 2023 12:16:04 PM IST

    Как видно, точное время на момент выполнения этой команды – 12:16:04 PM.
  4. Теперь запланируем запуск скрипта testscript.sh на более позднее время (например, 12:18 PM) с помощью команды at:
    at 12:18 PM -f ./testscript.sh

    Пример вывода:
    warning: commands will be executed using /bin/sh
    job 5 at Wed Aug  9 12:18:00 2023

    Эта команда планирует выполнение сценария testscript.sh на 12:18 PM 11 августа 2023 года. Предупреждение указывает на то, что команды будут выполняться с помощью оболочки /bin/sh.
  5. Проверка запланированных заданий в очереди at:
    atq

    Пример вывода:
    5 Wed Aug 9 12:18:00 2023 a ostechnix

    Команда atq выводит список запланированных заданий в очереди at. В данном случае задание №5 запланировано на 12:18 PM 9 августа 2023 года.
  6. Теперь дождитесь истечения указанного времени. По истечении указанного времени снова проверьте очередь „at„:
    atq

    Вывод команды atq теперь должен быть пустым, так как запланированное задание уже выполнено.
  7. Проверьте содержимое /tmp/greeting.txt после выполнения сценария:
    cat /tmp/greeting.txt

    *Пример вывода: *
    Hello, Welcome to OSTechNix!

Как видно из приведенного выше вывода, команда cat отображает содержимое файла /tmp/greeting.txt, который был создан сценарием testscript.sh.

6. Планирование заданий с использованием определенного формата даты и времени

Если вы хотите запланировать выполнение команды с использованием определенного формата даты и времени, выполните следующие действия:

at 01:47PM 2023-08-09
warning: commands will be executed using /bin/sh
at Wed Aug  9 13:47:00 2023
at> echo "This is a scheduled task using a specific date and time format." > /tmp/date.txt
at> <EOT>
job 11 at Wed Aug  9 13:47:00 2023

В данном случае команда at указывает системе запланировать выполнение задания на 01:47 вечера 9 августа 2023 года.

Подробнее о «выражениях времени» вы можете прочитать далее в этом руководстве.

7. Отправка уведомления по электронной почте о завершении задания

Чтобы отправить уведомление по электронной почте о завершении задания с помощью команды at, выполните следующие действия:

  1. Убедитесь, что в системе работает конфигурация электронной почты, а учетная запись пользователя связана с действительным адресом электронной почты.
  2. Чтобы указать команде at отправлять уведомления по электронной почте по завершении задания, даже если вывода нет, необходимо указать опцию -m при планировании задания.
    Например, чтобы запустить скрипт с именем testscript.sh и получить уведомление по электронной почте по его завершении:
    cat testscript.sh | at -m now + 1 hour

    В этом случае команда testscript.sh передается команде at, а опция -m используется для обеспечения отправки уведомления по электронной почте по завершении задания.
  3. После завершения задания на настроенный адрес электронной почты, связанный с учетной записью пользователя, должно прийти уведомление. В письме будет содержаться информация о выполнении задания.
    Помните, что эффективность данного подхода зависит от конфигурации электронной почты в вашей системе. Если возникнут проблемы, убедитесь, что система настроена на отправку электронной почты и что адрес электронной почты пользователя правильно сконфигурирован.

8. Планирование заданий без уведомления по электронной почте

Для предотвращения получения уведомлений по электронной почте при завершении задания можно использовать опцию -M при планировании задания at.

Например:

echo "testscript.sh" | at -M 02:00

Включив опцию -M в команду at, вы обеспечите выполнение задания без генерации уведомлений по электронной почте при его завершении.

Это особенно полезно, когда вы хотите выполнять задания беззвучно, не получая уведомлений по электронной почте.

9. Удаление запланированных заданий

Для удаления запланированного задания с помощью команды at можно использовать либо команду atrm, либо опцию -r с командой at, за которой следует идентификатор задания. Ниже приведены шаги для обоих методов:

9.1. Использование команды atrm

Идентифицируйте идентификатор запланированного задания, выполнив команду atq или используя опцию -l с командой at.

Для удаления задания с указанным идентификатором выполните следующую команду:

atrm [job_id]

Замените [job_id] на фактический идентификатор задания, которое вы хотите удалить.

Пример:

  1. Сначала выведите список всех запланированных заданий с помощью команды atq:
    atq

    Пример вывода:
    7	Sun Mar 14 13:31:00 2230 a ostechnix
    9	Fri Aug  9 13:40:00 3241 a ostechnix
    8	Sun Mar 14 13:33:00 2230 a ostechnix
    10	Wed Aug  9 13:42:00 3245 a ostechnix

    Как видно, существует 4 незавершенных задания.
  2. Чтобы удалить задание, например, задание с ID 7, выполните:
    atrm 7
  3. Проверьте, удалено ли задание, выведя список запланированных заданий :
    atq
    9	Fri Aug  9 13:40:00 3241 a ostechnix
    8	Sun Mar 14 13:33:00 2230 a ostechnix
    10	Wed Aug  9 13:42:00 3245 a ostechnix


    Видите? 7-е задание удалено.

9.2 Использование опции at -r

Идентифицируйте идентификатор запланированного задания, выполнив команду atq или используя опцию -l с командой at.

Для удаления задания с указанным идентификатором выполните следующую команду:

at -r [job_id]

Замените [job_id] на фактический идентификатор задания, которое вы хотите удалить.

Помните, что для удаления заданий, запланированных другими пользователями, необходимы соответствующие привилегии (обычно root или sudo). Если вы являетесь владельцем задания, то, как правило, можете удалить его без дополнительных прав.

10. Allow or Deny Users

Файлы /etc/at.allow и /etc/at.deny используются для управления доступом пользователей к командам at и batch, которые позволяют планировать задания для последующего выполнения. Эти файлы определяют, каким пользователям разрешено отправлять команды для последующего выполнения с помощью команд at и batch.

В обоих файлах имеется список имен пользователей, причем каждое имя пользователя указывается в отдельной строке. Пробелы не допускаются.

Если существует файл /etc/at.allow, то только именам пользователей, указанным в этом файле, предоставляется разрешение на использование команды at. Если /etc/at.allow пуст или не существует, то контроль доступа определяется файлом /etc/at.deny.

Если /etc/at.allow не существует или не предоставляет доступ определенному пользователю, проверяется файл /etc/at.deny. Пользователям, не указанным в /etc/at.deny, разрешается использовать команды at и batch.

Если /etc/at.deny пуст, все пользователи имеют право использовать команду at.

Если ни /etc/at.allow, ни /etc/at.deny не существует, только суперпользователь (root) имеет право использовать команды at и batch.

Файл /etc/at.allow имеет приоритет над файлом /etc/at.deny. Если пользователь указан в обоих файлах, то доступ предоставляется на основании /etc/at.allow.

Эти файлы обеспечивают простое, но эффективное средство контроля за тем, какие пользователи могут использовать команды at и batch для планирования задач для последующего выполнения в системе.

На примере рассмотрим, как ограничить использование команды at.

Чтобы ограничить использование команды at, можно использовать файлы /etc/at.allow и /etc/at.deny. Вот как это можно сделать:

10.1. Использование файла /etc/at.deny

Откройте файл /etc/at.deny в текстовом редакторе и добавьте в него имена пользователей, которых вы хотите ограничить, каждое в отдельной строке. Сохраните и выйдите из файла.

Например, чтобы ограничить пользователей «user1» и «user2», можно выполнить:

echo "user1" | sudo tee -a /etc/at.deny
echo "user2" | sudo tee -a /etc/at.deny

Сейчас переключитесь на любого ограниченного пользователя и попробуйте выполнить любую команду „at“:

su - user1
atq
You do not have permission to use atq.

10.2. Использование файла /etc/at.allow

Если вы хотите разрешить использование команды at только определенным пользователям, вы можете создать файл /etc/at.allow и добавить в него имена пользователей, которым разрешено использовать команду, каждое в отдельной строке. Сохраните файл и выйдите из него.

Например, чтобы разрешить использование команды at только «ostechnix», вы можете выполнить:

echo "ostechnix" | sudo tee -a /etc/at.allow

Помните, что файл /etc/at.allow имеет приоритет над файлом /etc/at.deny. Если имя пользователя указано в обоих файлах, то ему будет разрешено использовать команду at.

После внесения этих изменений пользователи, которых вы ограничили, больше не смогут использовать команду at.

11. Выполнение заданий, если позволяет загрузка системы

Команда «batch« выполняет задания при благоприятных условиях загрузки системы. В частности, она инициирует выполнение, когда среднее значение нагрузки падает меньше 1,5 или заданного значения, установленного при вызове демона «atd«. Такой подход позволяет обеспечить выполнение заданий в периоды пониженной активности системы.

Вот как можно использовать команду batch для выполнения заданий, когда нагрузка на систему позволяет:

  1. Откройте терминал.
  2. Введите batch и нажмите Enter. Это приведет к запуску команды batch и появлению приглашения, в котором можно ввести команды для выполнения.
  3. Введите команды, которые необходимо выполнить, когда нагрузка на систему упадет ниже порога. Например:
    echo "Job started at $(date)" >> job_log.txt
    sleep 5
    echo "Job finished at $(date)" >> job_log.txt

    В данном примере задание регистрирует время начала, ждет 5 секунд с помощью команды sleep, а затем регистрирует время окончания.
  4. Нажмите Ctrl + D, чтобы показать, что вы закончили ввод команд. Введенные команды будут поставлены в очередь на выполнение, когда средняя нагрузка на систему будет ниже порогового значения.
  5. Система выполнит поставленные в очередь команды, когда среднее значение нагрузки опустится ниже заданного порога, который обычно составляет около 1,5.
  6. Проверить выполнение пакетного задания можно, просмотрев содержимое txt-файла job_log.
    cat job_log.txt 
    Job started at Wednesday 09 August 2023 03:48:06 PM IST
    Job finished at Wednesday 09 August 2023 03:48:11 PM IST

    Не забывайте, что команда batch опирается на условия загрузки системы, поэтому возможна задержка перед выполнением заданий в зависимости от нагрузки на систему в данный момент.

Следует отметить, что реальное поведение команды batch может несколько отличаться в зависимости от конкретной реализации в вашей системе.

Выражения времени

Команда at принимает различные форматы времени для планирования заданий. Например, с помощью команды HH:MM можно запланировать задание на определенное время суток. Если это время уже прошло, то предполагается, что задание будет выполнено на следующий день.

Примечательно, что есть возможность указать конкретное время, например, полночь, полдень или время (16.00). Кроме того, к времени можно добавить суффикс AM или PM, чтобы указать утро или вечер.

Можно также указать день, в который должно быть выполнено задание. Это можно сделать, указав дату в таких форматах, как месяц-имя-день (с необязательным годом), MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY или [CC]YY-MM-DD. Спецификация даты должна следовать за спецификацией времени суток.

Более того, вы можете гибко определять относительное время, например, сейчас считать единицы времени. Единицами времени могут быть минуты, часы, дни или недели.

Чтобы указать на выполнение задания сегодня, можно просто добавить к времени суффикс «today». Аналогичным образом, суффикс «завтра» приводит к планированию задания на следующий день.

  • Примеры:*

Например, если вы хотите выполнить задание в 14:00 через 5 дней, вы можете использовать синтаксис:

at 2pm + 5 days 

Для планирования задания на 11:00 утра 31 августа вы можете использовать:

at 11am Aug 31

Для задания на 3 часа ночи завтра, команда будет такой:

at 3am tomorrow

В тех случаях, когда задание задается на время и дату в прошлом, оно будет выполнено как можно скорее. Например, если сейчас 11 часов вечера, а вы запланировали задание на 9 часов вечера того же дня с помощью команды at 9pm today, то оно, скорее всего, будет выполнено около 11:05.

В следующей таблице дается четкое описание различных выражений времени и их использования для планирования заданий с помощью команды at.

Временное выражениеОписаниеПример
HH:MMПланирование работы в определенное время суток.в 16:00
полночь, полдень, время чаяСпециальное время суток.в полночь
AM или PMУказание утреннего или вечернего времени.в 8:30AM
month-name dayУказание дня работы с необязательным годом.в 10 утра 31 июля
MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY, [CC]YY-MM-DDразличные форматы даты.at 03142230 (для 14 марта 2023 года, 10:30 PM)
now count time-unitsОтносительная спецификация времени.в данный момент 2 часа
сегодня, завтраПланирование работы на сегодня или завтра.в час ночи завтра

Выражение времени команды Linux „at“ Более подробно о формате спецификации времени можно прочитать в файле /usr/share/doc/at/timespec.

Шпаргалка по команде at

Перед вами шпаргалка по командам Linux at в формате таблиц с колонками. Пожалуйста, распечатайте ее и держите поблизости для быстрого обращения к ней.

ЗадачаКомандаПример
Планировать на определенное времяat <time>at 3:30 PM
Планировать после задержкиat now + <time>at now + 2 hours
Планировать с помощью файла сценарияat <time> -f <script_file>at 9:00 AM tomorrow -f script.sh
Интерактивная подсказкаat
Выполнение командat <time> <<< "command"at 5:00 PM <<< "backup.sh"
Просмотр отложенные заданияatq или at -l
Удалить заданиеatrm <job_id> или at -r <job_id>atrm 3 или at -r 3
Просмотреть содержимое заданияat -c <job_id>at -c 5
Отправить уведомления по электронной почтеecho "command" | at -m <time>echo "backup.sh" | at -m 11:00 PM
подавить уведомления по электронной почтеecho "command" | at -M <time>echo "command" | at -M 8:00 AM
доступ к справкеat -h или man at

Шпаргалка по команде Linux at Помните, что поведение команды at в различных дистрибутивах Linux может несколько отличаться. Используйте эту шпаргалку в качестве краткого справочного руководства по эффективному использованию команды at.

Заключение

В заключение можно сказать, что команда Linux at – это удобный инструмент, позволяющий планировать выполнение задач на определенное время в будущем. Это все равно что установить будильник, чтобы компьютер выполнял задания автоматически.

Так что, независимо от того, новичок вы в Linux или опытный пользователь, Linux at command может облегчить вам жизнь, выполняя задачи в нужное время.

Часто задаваемые вопросы

✅ Что такое команда at в Linux?

Команда at – это утилита в Linux, которая позволяет планировать выполнение одноразовых задач или команд на определенное время в будущем. Она особенно полезна для автоматизации задач, не требующих вмешательства пользователя.

✅ Как использовать команду at для планирования заданий?

Чтобы запланировать задания с помощью команды at в Linux, выполните следующие действия:

  1. Откройте терминал.
  2. Используйте следующий синтаксис для планирования задания:at [time] [date]Например:at 10:30AM tomorrow
  3. Нажмите Enter, и появится интерактивное приглашение, в котором можно ввести команды для выполнения.
  4. Нажмите Ctrl + D, когда закончите вводить команды для планирования задания.

✅ Можно ли указать командный файл вместо интерактивного ввода команд?

Да, можно использовать опцию -f для указания файла, содержащего команды, которые необходимо выполнить. Например:at 2:00PM -f script.sh

✅ Как просмотреть список запланированных заданий?

Используйте команду atq для вывода списка ожидающих заданий с указанием их идентификаторов и запланированного времени.

✅ Могу ли я просмотреть содержимое запланированного задания?

Да, вы можете использовать опцию -c с последующим указанием идентификатора задания для отображения содержимого ранее запланированного задания. Например:at -c 123

✅ Как удалить запланированное задание?

Для удаления запланированного задания можно использовать команду atrm, за которой следует идентификатор задания. Например:atrm 123

✅ Могу ли я получать уведомления о завершении задания по электронной почте?

По умолчанию команда at отправляет уведомления о завершении задания по электронной почте. Вы можете включить эту функцию даже для заданий, не имеющих выхода, используя опцию -m.

✅ Можно ли отключить уведомления по электронной почте?

Да, вы можете отключить это поведение с помощью опции -M.

✅ Какие форматы можно использовать для указания времени и даты?

Можно использовать такие форматы, как ЧЧ:ММ, полночь, полдень, время, конкретные даты (например, 31 июля 2023 г.), относительное время (например, сейчас 2 часа), сегодня и завтра.

✅ Можно ли использовать команду at для повторяющихся заданий?

Нет, команда at предназначена для однократного планирования. Для повторяющихся заданий лучше использовать команду cron.

✅ Что такое команда batch?

Команда batch – это утилита, позволяющая планировать выполнение заданий, когда средняя нагрузка на систему падает ниже определенного порога, обычно около 1,5. Это позволяет обеспечить выполнение заданий в периоды пониженной активности системы.

✅ Как работает команда batch?

Команда batch планирует выполнение заданий в очереди, когда это позволяют условия загрузки системы. Она отслеживает среднее значение нагрузки и инициирует выполнение заданий, когда нагрузка падает ниже заданного порога.

✅ Как использовать команду batch?

Использование команды batch аналогично использованию команды at.

  1. Откройте терминал.
  2. Введите batch и нажмите Enter для запуска команды batch.
  3. Введите команды, которые необходимо выполнить, когда нагрузка упадет ниже порога.
  4. Нажмите Ctrl + D для обозначения окончания ввода команды.

✅ Какие задания подходят для команды batch?

Команда batch идеально подходит для несрочных задач, которые можно выполнять, когда система менее загружена. Например, резервное копирование данных, анализ журналов или ресурсоемкие задачи, которые можно отложить до снижения нагрузки на систему.

✅ Можно ли отменить или удалить задания, запланированные с помощью команды batch?

Да, можно отменить запланированные задания с помощью команды atrm, за которой следует идентификатор задания. Например, команда atrm 123 удалит задание № 123 из очереди.

✅ Как получить помощь по использованию команд at и batch?

Чтобы получить помощь по команде at, просто введите at -h или man at в терминале. Раздел помощи по команде batch можно также найти на странице руководства по команде at.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен ostechnix.com

Похожие статьи

Комментарии (0)