Задания по расписанию в Linux cron

Contents
Introduction

Introduction

wiki

cron — классический демон (компьютерная программа в системах класса UNIX), использующийся для периодического выполнения заданий в определённое время.

Регулярные действия описываются инструкциями, помещенными в файлы crontab и в специальные каталоги.

Название cron образовано от греческого слова χρόνος (хрόнос) — время (по-английски — chronos).

В системах на базе systemd cron фактически замещён встроенным механизмом systemd.timer.

Файлы crontab, создаваемые для отдельных пользователей, находятся в каталоге

/usr/spool/cron/crontabs/

или

/var/spool/cron/tabs/.

Редактировать их вручную не рекомендуется, для этого используют команду crontab -e .

Файлы crontab , используемые для управления всей системой, располагаются в каталоге

/etc/cron.d/.

Кроме того, в каталогах

/etc/cron.daily/, /etc/cron.weekly/ и /etc/cron.monthly/

размещаются автоматически запускаемые программы (ежедневно, еженедельно или ежемесячно).

Запускать скрипт каждую минуту

crontab -e

*/1 * * * * script.sh

Или просто

* * * * * script.sh

По умолчанию cron запускает скрипты из домашней директории

Запуск из других директорий

To запустить скрипт из другой директории - в неё нужно сперва перейти

* * * * * cd monitoring/new_scripts && $(which bash) script.sh

cron перейдёт в нужную директорию а потом увидев && поймёт что нужно сделать И выполнение скрипта.

Логическое или можно задать с помощью ||

Python скрипт по расписанию

To запустить .py скрипт из произвольной директории - перейдите в неё и execute $(which python3) название файла

Например:

crontab -e

* * * * * cd python_scripts && $(which python3) script.py

Share in social media: