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]