Как планировать задачи с помощью Linux at Command
Linux at Command раскрыта тайна: легко планируйте задачи.
В Linux, когда мы хотим, чтобы наш компьютер выполнял задачи автоматически, мы используем так называемое планирование. Это все равно, что сказать компьютеру: «Сделай это в это время». Это облегчает нашу работу, поскольку нам не нужно помнить, что нужно выполнять эти задачи самостоятельно. Один из способов сделать это — использовать команду Linux at. Команда at
может служить альтернативой команде cron, если у вас есть задачи, которые необходимо запустить только один раз в определенное время в будущем. .Икс
Команда «at
» позволяет нам планировать выполнение задач в определенное время. Итак, если мы хотим, чтобы компьютер сделал что-то, например, создал резервную копию или отправил электронное письмо, мы можем использовать команду «at
», чтобы сообщить ему, когда это сделать. Это похоже на установку будильника, чтобы ваш компьютер делал что-то за вас.
В этом руководстве мы углубимся в команду Linux и увидим, как она помогает нам легко планировать задачи. Мы рассмотрим 11 примеров команд at
для планирования задач в Linux. Независимо от того, новичок ли вы в Linux или уже знакомы с ним, изучение команды «at
» может упростить вашу жизнь за счет автоматизации задач на вашем компьютере.
Что такое Linux в команде?
Команда at в Linux используется для планирования выполнения одноразовой задачи в определенное время в будущем. Он позволяет указать конкретное время, когда должна выполняться команда или сценарий.
Команда at
может быть полезна для автоматизации одноразовых задач, таких как резервное копирование файлов, запуск сценариев или отправка электронных писем.
cron против at
Когда вы планируете задачи, вы можете столкнуться с терминами "cron" и "at" и задаться вопросом о различиях между cron
Команды и at
в среде Linux.
Команда at
и команда cron
используются для планирования задач в Linux, но у них есть явные различия с точки зрения того, как они работают и когда их лучше всего использовать.
Утилита cron
позволяет планировать повторяющиеся задачи через определенные промежутки времени, а команда at
позволяет указать одноразовые действия, которые будут выполняться в желаемое время. Например, вы можете использовать crontab
, чтобы запланировать ежедневное резервное копирование в 2 часа ночи, гарантируя повторяющееся выполнение. И наоборот, вы можете использовать команду at
, чтобы создать напоминание о более поздней встрече в течение дня, сосредоточив внимание на одном событии.
По сути, мы обычно используем команду at
для разовых задач, запланированных на определенные моменты, и используем cron
команда для автоматизированных повторяющихся задач, которые необходимо выполнять регулярно.
Выбор между ними зависит от характера ваших задач и того, как часто вы хотите, чтобы они выполнялись.
Установить по команде в Linux
Команда at
обычно предустановлена во многих дистрибутивах Linux. Однако, если он недоступен в вашей системе, вы можете установить его с помощью менеджеров пакетов, специфичных для вашего дистрибутива. Вот шаги установки для некоторых распространенных дистрибутивов Linux:
Альпийский Linux:
Для установки по команде в Alpine Linux выполните:
sudo apk add at
Arch Linux/Endeavour OS/Manjaro Linux:
Откройте терминал и выполните следующую команду:
sudo pacman -S at
Debian/Ubuntu/Linux Mint/Pop!_OS:
Выполните следующие команды для установки at в системах на базе Debian:
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
для планирования задач в определенное время.
Начните с Сервиса
Служба atd
должна запуститься автоматически после установки. Если он не запущен, вы можете запустить и включить его с помощью следующих команд:
sudo systemctl start atd
sudo systemctl enable atd
Linux и примеры команд
Команда 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. Вывод «Здравствуйте, добро пожаловать в OSTechNix!» будет записан в файл /tmp/greeting.txt
в указанное время.
После планирования задания подождите, пока истечет указанное время. По достижении запланированного времени вы можете проверить, сохранено ли сообщение в файле greeting.txt
, расположенном в каталоге /tmp
.
sudo cat /tmp/greeting.txt
[sudo] password for ostechnix:
Hello, Welcome to OSTechNix!
Отображение содержимого файла с помощью команды cat
Да, задание успешно выполнено в указанное время.
В этом примере мы запланировали эхо «Привет, добро пожаловать в 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
, отправив команды at через канал UNIX. Это предполагает использование таких команд, как 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/sh
job 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
. Скрипт просто повторяет текст «Здравствуйте, добро пожаловать в OSTechNix!» в файл с именем /tmp/greeting.txt
.
2. Сделайте скрипт исполняемым:
sudo chmod +x testscript.sh
Эта команда дает сценарию testscript.sh
разрешение на выполнение с помощью chmod
. Теперь скрипт можно выполнить как отдельную программу.
3. Проверьте текущую дату и время:
date
Пример вывода:
Wednesday 09 August 2023 12:16:04 PM IST
Как видите, точное время на момент выполнения этой команды — 12:16:04.
4. Теперь давайте запланируем запуск сценария testscript.sh
на более позднее время (например, 12:18) с помощью команды 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 11 августа 2023 г. Предупреждающее сообщение указывает, что команды будут выполняться с использованием /bin/sh
оболочка.
5. Проверьте запланированные задания в очереди:
atq
Пример вывода:
5 Wed Aug 9 12:18:00 2023 a ostechnix
Команда atq
выводит список запланированных заданий в очереди at. В этом случае задание номер 5 запланировано на 12:18 9 августа 2023 г.
6. Теперь подождите, пока истечет указанное время. По достижении запланированного времени еще раз проверьте очередь «at
»:
atq
Вывод команды atq
теперь должен быть пустым, поскольку запланированное задание уже выполнено.
7. Проверьте содержимое /tmp/greeting.txt
после запуска сценария:
cat /tmp/greeting.txt
Пример вывода:
Hello, Welcome to OSTechNix!
Планирование сценариев с использованием команды Linux at
Как вы видите в приведенном выше выводе, команда 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
сообщает системе, что нужно запланировать запуск задания на 13: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. Чтобы удалить задание, например задание с идентификатором 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
Удалить запланированные задания
Видеть? Седьмое задание пропало.
9.2 Использование опции at -r
Определите идентификатор запланированного задания, выполнив команду atq
или используя параметр -l
с командой at
.
Выполните следующую команду, чтобы удалить задание с указанным идентификатором задания:
at -r [job_id]
Замените [job_id]
фактическим идентификатором задания, которое вы хотите удалить.
Помните, что вам необходимы соответствующие права (обычно root или доступ sudo) для удаления заданий, запланированных другими пользователями. Если вы являетесь владельцем задания, вы обычно можете удалить его без дополнительных разрешений.
10. Разрешить или запретить пользователям
Файлы /etc/at.allow
и /etc/at.deny
используются для управления доступом пользователей к пакетам at
и . Команды
, которые позволяют пользователям планировать задачи для последующего выполнения. Эти файлы определяют, каким пользователям разрешено отправлять команды для последующего выполнения с помощью команд 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
. и пакетные
команды.
Файл /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.
Запретить пользователям выполнять команду at
10.2. Использование /etc/at.allow
Если вы предпочитаете разрешить только определенным пользователям использовать команду at
, вы можете создать файл /etc/at.allow
и добавить имена пользователей, которым разрешено использовать команда, каждая в отдельной строке.
Сохраните и выйдите из файла.
Например, чтобы разрешить только «ostechnix» использовать команду at
, вы можете запустить:
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
принимает различные форматы времени для планирования заданий. Например, вы можете использовать ЧЧ:ММ
, чтобы запланировать задание на определенное время дня. Если это время уже прошло, предполагается, что задание будет запущено на следующий день.
Примечательно, что у вас есть возможность указать конкретное время, например полночь, полдень или время чаепития (16:00). Кроме того, вы можете добавить ко времени суффикс AM или PM, чтобы указать утро или вечер.
Вы также можете указать день, когда задание должно быть выполнено. Это можно сделать, указав дату в таких форматах, как месяц-имениты (с необязательным годом), MMDD[CC]YY
, MM. /ДД/[CC]ГГ
, ДД.ММ.[CC]ГГ
или [CC]ГГ -ММ-ДД
. Указание даты должно соответствовать указанию времени суток.
Более того, у вас есть возможность определять относительное время, например сейчас + подсчет единиц времени. Единицами времени могут быть минуты, часы, дни или недели.
Чтобы указать выполнение задания сегодня, вы можете просто добавить ко времени добавление «сегодня». Аналогичным образом, если добавить к времени суффикс «завтра», задание будет запланировано на следующий день.
Примеры:
Например, если вы хотите запустить задание в 14:00 через 5 дней, вы можете использовать синтаксис:
at 2pm + 5 days
Чтобы запланировать работу на 11:00 31 августа, вы можете использовать:
at 11am Aug 31
Для задания завтра в 3 часа ночи команда будет такой:
at 3am tomorrow
В случаях, когда вы указываете задание для запуска в определенное время и дату в прошлом, задание будет выполнено как можно скорее. Например, если сейчас 23:00 и вы запланировали задание на 21:00 того же дня, используя сегодня в 21:00
, задание, скорее всего, будет выполнено около 23:05.
В следующей таблице представлено четкое описание различных выражений времени и того, как их можно использовать для планирования заданий с помощью команды at
.
Time Expression | Description | Example |
---|---|---|
HH:MM | Schedule a job at a specific time of day. | at 4pm |
midnight, noon, teatime | Special times of the day. | at midnight |
AM or PM | Morning or evening time specification. | at 8:30AM |
month-name day | Specify a job's day with an optional year. | at 10am Jul 31 |
MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY, [CC]YY-MM-DD | Various date formats. | at 03142230 (for March 14, 2023, 10:30 PM) |
now + count time-units | Relative time specification. | at now + 2 hours |
today, tomorrow | Schedule a job for today or tomorrow. | at 1am tomorrow |
Выражение времени команды at в Linux
Более подробную информацию о формате указания времени можно найти в файле /usr/share/doc/at/timespec
.
Шпаргалка по командам Linux
Вот шпаргалка по команде at
в Linux в формате табличного столбца. Пожалуйста, распечатайте его и держите под рукой для быстрого ознакомления.
Task | Command | Example |
---|---|---|
Schedule at a specific time | at <time> | at 3:30 PM |
Schedule after a delay | at now + <time> | at now + 2 hours |
Schedule using a script file | at <time> -f <script_file> | at 9:00 AM tomorrow -f script.sh |
Interactive prompt | at | |
Execute commands | at <time> <<< "command" | at 5:00 PM <<< "backup.sh" |
View pending jobs | atq or at -l | |
Remove a job | atrm <job_id> or at -r <job_id> | atrm 3 or at -r 3 |
View job contents | at -c <job_id> | at -c 5 |
Send email notifications | echo "command" | at -m <time> | echo "backup.sh" | at -m 11:00 PM |
Suppress email notifications | echo "command" | at -M <time> | echo "command" | at -M 8:00 AM |
Access help | at -h or man at |
Linux в Command Cheat Cheat
Помните, что поведение команды at
может незначительно отличаться в разных дистрибутивах Linux. Используйте эту шпаргалку как краткое справочное руководство по эффективному использованию команды at
.
Часто задаваемые вопросы
Ниже приведен список часто задаваемых вопросов по командам Linux at
и batch
.
Вопрос: Что такое команда at
в Linux?
О: Команда at
— это утилита в Linux, которая позволяет вам планировать одноразовые задачи или команды для запуска в определенное время в будущем. Это особенно полезно для автоматизации задач без вмешательства пользователя.
Вопрос: Как использовать команду at
для планирования заданий?
О: Чтобы запланировать задачи с помощью команды Linux at
, выполните следующие действия:
1. Откройте терминал.
2. Чтобы запланировать задание, используйте следующий синтаксис:в [время] [дата]
Например:завтра в 10:30
3. Нажмите Enter, и вы попадете в интерактивную подсказку, в которой сможете ввести команды, которые хотите выполнить.
4. Нажмите Ctrl + D, когда закончите вводить команды для планирования задания.
Вопрос: Могу ли я указать командный файл вместо интерактивного ввода команд?
О: Да, вы можете использовать опцию -f
, чтобы указать файл, содержащий команды, которые вы хотите выполнить. Например:в 14:00 -f script.sh
Вопрос: Как просмотреть список запланированных заданий?
О: Используйте команду atq
, чтобы просмотреть список ожидающих заданий вместе с их идентификаторами и запланированным временем.
Вопрос: Могу ли я просмотреть содержимое запланированного задания?
О: Да, вы можете использовать параметр -c
, за которым следует идентификатор задания, для отображения содержимого ранее запланированного задания. Например:at -c 123
Вопрос: Как удалить запланированное задание?
О: Вы можете использовать команду 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
?
О: Вы можете использовать команду atq
, чтобы проверить статус ожидающих заданий, запланированных с помощью batch
. Он отобразит список заданий в очереди вместе с их идентификаторами.
Вопрос: Могу ли я отменить или удалить задания, запланированные с помощью команды batch
?
О: Да, вы можете отменить запланированные задания с помощью команды atrm
, за которой следует идентификатор задания. Например, atrm 123
удалит задание номер 123 из очереди.
Вопрос: Как получить помощь по использованию команд at
и batch
?
О: Чтобы получить доступ к справке по команде at
, просто введите в терминале at -h
или man at
. Вы также можете найти раздел справки для команды batch
на странице руководства команды at
.
Заключение
В заключение отметим, что Linux по команде – это удобный инструмент, позволяющий планировать выполнение задач в определенное время в будущем. Это все равно, что настроить будильник на свой компьютер, чтобы он автоматически делал все за вас.
Итак, независимо от того, являетесь ли вы новичком в Linux или опытным пользователем, Linux в команде может облегчить вашу жизнь, выполняя задачи в нужное время.