Ответ
Crontab (cron table) — это стандартный планировщик задач в Unix-подобных операционных системах, который позволяет автоматически выполнять команды или скрипты в заданное время.
Для редактирования файла с задачами текущего пользователя используется команда:
crontab -e
Каждая строка в файле crontab соответствует одной задаче и имеет следующий формат:
минута час день_месяца месяц день_недели команда
минута: 0-59час: 0-23день_месяца: 1-31месяц: 1-12день_недели: 0-7 (0 и 7 — воскресенье)
Пример: Запуск Python-скрипта каждые 5 минут.
*/5 * * * * /usr/bin/python3 /home/user/projects/my_script.py >> /home/user/projects/my_script.log 2>&1
Ключевые моменты при настройке:
- Абсолютные пути: Всегда используйте полные пути к исполняемым файлам (например,
/usr/bin/python3) и скриптам, так какcronвыполняется в ограниченном окружении без привычных переменныхPATH. - Права на выполнение: Убедитесь, что скрипт имеет права на исполнение (
chmod +x my_script.py). - Перенаправление вывода: Чтобы отслеживать ошибки и результаты выполнения, перенаправляйте стандартный вывод (stdout) и вывод ошибок (stderr) в лог-файл (
>> /path/to/log.log 2>&1). - Альтернативы: Для более сложных рабочих процессов с зависимостями и очередями стоит рассмотреть такие инструменты, как Celery или Apache Airflow.