Автоматизация задач (cron, at)
Уроки курсаАвтоматизация задач (cron, at)
Разбор команды at
Что такое at?
at — это планировщик задач, предназначенный для однократного запуска команд или скриптов в указанное время. В отличие от cron, который используется для периодических (регулярных) заданий, at выполняет задачу один раз в заданное время. Это удобно для задач, которые нужно выполнить в будущем, но не регулярно.
Основной синтаксис
at [опции] время
После ввода команды at с указанием времени вы переходите в интерактивный режим ввода команд, которые будут выполнены в заданное время. Завершив ввод, нужно нажать Ctrl+D, чтобы сохранить задание.
Форматы времени
Команда at поддерживает различные форматы времени. Например:
at 15:30– выполнение задачи сегодня в 15:30.at now + 2 hours– выполнение через 2 часа от текущего момента.at 10:00 tomorrow– выполнение задачи завтра в 10:00.at 5pm Aug 15– выполнение 15 августа в 17:00.
Формат может зависеть от локальных настроек системы, но общая идея – указание времени в понятном для пользователя виде.
Примеры использования
Пример 1: Однократное выполнение команды
Запустите команду:
at 15:30
После этого терминал перейдёт в режим ввода, где вы можете ввести, например:
echo "Задача выполнена!" > ~/task.log
Затем нажмите Ctrl+D для завершения ввода. Задача будет выполнена сегодня в 15:30, и вывод будет записан в файл ~/task.log.
Пример 2: Использование относительного времени
Запустите:
at now + 1 hour
Затем введите команду, которую хотите выполнить через час:
/usr/bin/python3 ~/scripts/cleanup.py
Нажмите Ctrl+D для завершения ввода.
Пример 3: Планирование задачи на следующий день
at 08:00 tomorrow
После ввода задачи нажмите Ctrl+D. Например, можно запланировать:
echo "Утренний отчёт" | mail -s "Отчёт" user@example.com
Полезные советы
-
Просмотр запланированных задач:
Командаatq(илиat -l) выводит список запланированных заданий.atq -
Удаление запланированной задачи:
Если нужно удалить задачу, используйте командуatrmс указанием номера задания, полученного изatq.atrm <номер_задания> -
Указание полного пути:
При планировании задач рекомендуется указывать полный путь к командам и файлам, чтобы избежать проблем с переменными окружения. -
Локальные настройки:
Формат времени и другие параметры могут зависеть от локальных настроек. Если возникают проблемы, проверьте документацию вашей системы или выполнитеman at.
