22.04.2024

Команда at в дистрибутивах Linux

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

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

Установка и синтаксис утилиты at

Как уже говорилось выше, at представляет собой утилиту, которую сначала необходимо установить. В данной статье рассмотрим установку в таких дистрибутивах как Debian/Ubuntu, Fedora и Manjaro. Итак, приступим:

Debian/Ubuntu

sudo apt install at

Fedora

sudo dnf install at

Manjaro

sudo pacman -S at

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

at [опции] [время] [файл]

Ниже представлены некоторые опции, которые можно применить к команде at для выполнения задач:

  • m – отправляет сообщение по электронной почте, когда задание выполнено.
  • f файл – указывает файл, содержащий команды для выполнения.
  • q очередь – определяет очередь, в которую будет отправлено задание.
  • t время – указывает время выполнения задания.
  • c команда – задает команду к выполнению.

Команда at: выполнение задач в определенное время

Итак, приступим к работе с командой at. Что бы выполнить какую-то задачу определенное время, вводим команду at и указываем время, появится пригласительная строка, в которую вводим для выполнения:

at 10:30
at> ваша команда

Этот пример запускает задание в 10:30 Вы можете заменить “10:30” на любое другое время, которое вам нужно. Для сохранения задания нажимаем сочетание клавиш “ctrl + d”. В некоторых случаях, запуск команды at нужно выполнять от root пользователя. Для примера запустим терминал в 06:06:

at 05:50
at> gnome-terminal
at в дистрибутивах Linux 1

Выполнять задания команда at может также через определенное время. Скажем, необходимо выполнить какое-то действие через пять минут, а вы уже не будете находиться за компьютером. Для этого можно задать определенное время указав его после знака плюс:

at now + 5 minutes
at> ваша команда
at в дистрибутивах Linux 2

Этот пример запускает задание через 5 минут от текущего времени: Команду at можно запрограммировать на выполнения на указанный день, дата в этом случае может быть указана: месяц/день/год. Можно также назначить выполнения задания скажем через два дня, например:

at 13:00 + 2 days
at> ваша команда

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

Команда at: Запуск скриптов и других файлов

Теперь рассмотрим вариант запуска исполняемых файлов и скриптов. Что бы команда at выполняла запуск исполняемых файлов и скриптов, необходимо использовать опцию -f, указать явный путь, где расположен файл или скрипт, и указать время выполнения:

at -f /путо_до_файла/file.sh 10:30

Этот пример запускает задание, которое содержится в файле file.sh, в 10:30. Как вариант, зададим команде at задание на запуск скрипта, который в свою очередь выполняет запуск терминала. Файл расположен в директории “Документы”:

at -f /home/cyber-x/Документы/file.sh 13:50

В этом случае, вместо сочетания клавиш “ctrl + d” нажимается клавиша “Enter”:

at в дистрибутивах Linux 3

Команда at: Отмена запланированных заданий

Чтобы вывести список заданий, которые должны быть выполнены, вводится команда “atq” или “at -r” :

atq
at в дистрибутивах Linux 4

В начале строки будет номер задачи, на скриншоте это номер 6. Для отмены задания вводим команду “atrm” и указываем номер задания, которое хотим отменить

$ atrm 6
at в дистрибутивах Linux 5

Заключение

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

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

man cat
at в дистрибутивах Linux 7

К сожалению, справка написана на Английском языке, для перевода можно воспользоваться переводчиком Crow Translate. Ниже будут небольшие советы при работе с командой at:

  1. Убедитесь, что время задачи указано в правильном формате. Если вы ошибетесь в формате, задача не запустится.
  2. Используйте опцию m, чтобы получать уведомление по электронной почте, если задача выполнена.
  3. Отменяйте ненужные задачи, чтобы не перегружать систему.
  4. Если вы хотите выполнить несколько команд, объедините их в скрипт и запустите его с помощью опции f.

А на этом сегодня все, если статья оказалась вам полезна, подписывайтесь на социальные сети журнала Cyber-X:

YouTube
ВКонтакте
Telegram
Дзен

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

Источник.