1. Установка at

Если команда at не установлена, установите её:

# Для Debian/Ubuntu
sudo apt-get install at

# Для Red Hat/CentOS
sudo yum install at

Запустите и включите демон atd:

sudo systemctl start atd
sudo systemctl enable atd

Проверьте статус:

sudo systemctl status atd

2. Постановка задачи в очередь на выполнение

Формат команды:

at HH:MM YYYY-MM-DD

где:

  • HH:MM — время в 24-часовом формате;
  • YYYY-MM-DD — дата в ISO-формате.

Пример:

Запланировать выполнение команды backup.sh 1 июля 2025 года в 23:00:

echo "/path/to/backup.sh" | at 23:00 2025-07-01

Или интерактивно:

at 23:00 2025-07-01

После этого вы попадёте в приглашение ввода, где можно написать несколько команд, например:

/path/to/backup.sh
/path/to/cleanup.sh

Для завершения нажмите Ctrl+D.

3. Просмотр очереди задач at

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

atq

Вывод будет примерно таким:

1   2025-07-01 23:00 a user
2   2025-07-02 08:00 a user
  • 1, 2 — номера заданий;
  • дата и время — время выполнения;
  • a — очередь (обычно a);
  • user — имя пользователя, от которого запланирована задача.

4. Удаление (отмена) задачи из очереди

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

atrm 

Пример:

atrm 1

Удалит задание с номером 1.

5. Дополнительные советы

  • Используйте абсолютное указание времени и даты в формате ISO, чтобы избежать ошибок:
at 09:30 2025-12-31
  • Для выполнения команды через некоторое время от текущего момента можно использовать относительные выражения:
echo "your_command" | at now + 2 hours
  • Все команды в at выполняются с правами пользователя, который их запланировал.

Итог: основные команды

| Действие | Команда | Пример |
|--------------------------|---------------------------------|---------------------------------|
| Запланировать задачу | at HH:MM YYYY-MM-DD | echo "ls -l" | at 14:00 2025-07-01 |
| Просмотреть очередь | atq | atq |
| Удалить задачу | atrm | atrm 2 |

[file-name 000160_2025-06-29_06-15-29.txt]