Крон Джобс
Демон cron — это длительный процесс, который выполняет команды в определенные дни и часы. Вы можете использовать это для планирования действий, как разовых событий, так и повторяющихся задач.
Если вы используете Mac (или Linux), вы можете использовать crontab
— инструмент планирования, который будет запускать задания (скрипты) через равные промежутки времени.
В Microsoft Windows задания cron называются запланированными заданиями. Их можно добавить через пользовательский интерфейс планировщика заданий Windows, с помощью PowerShell или с помощью schtasks.exe
.
Crontab означает «cron table», потому что он использует планировщик заданий cron для выполнения задач; Сам cron назван в честь хроноса, греческого слова, обозначающего время.
Формат строки Cron time состоит из пяти полей, которые Cron преобразует в интервал времени. Затем Cron использует этот интервал, чтобы определить, как часто следует запускать соответствующую команду. Например, строка Cron time из 0 10 1 * * выполняет команду 1 числа каждого месяца в 10:00 утра. УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ.
*
= всегда
Это подстановочный знак для каждой части выражения расписания cron. Таким образом, * * * * *
означает каждую минуту каждого часа каждого дня каждого месяца и каждого дня недели.
Чтобы найти местоположение вашего файла crontab
, вы можете запустить следующую команду:
Вариант 1. Как только вы нашли расположение файла, вы можете открыть файл crontab
с помощью приведенной ниже команды:
Вариант 2. Вы можете просто открыть файл в редакторе nano
с помощью приведенной ниже команды (вам не нужно искать файл для этой команды):
В отличие от vi, nano
— это немодальный текстовый редактор на основе терминала, что означает, что вы можете начать вводить и редактировать текст сразу после открытия файла. nano
идеально подходит для внесения небольших изменений в существующие файлы конфигурации или для написания коротких текстовых файлов.
Чтобы увидеть список ваших активных заданий crontab, используйте следующую команду:
Давайте рассмотрим один пример. Я использую комбинацию Airflow и Cron Jobs для автоматизации своих моделей машинного обучения. В этом примере у меня есть сценарий run_script.sh
, который я хочу выполнять каждый день месяца в 04:00. УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ.
Файл SH — это сценарий, запрограммированный для bash, типа оболочки Unix (Bourne-Again SHell). Он содержит инструкции, написанные на языке Bash, и может быть выполнен путем ввода текстовых команд в интерфейсе командной строки оболочки.
Сценарий сначала активирует виртуальную среду ml_env
и записывает всю информацию в файл bash.log
; то есть когда скрипт запустился и когда он закончился. Поскольку сценарий my_python_script.py
генерирует несколько текстовых файлов, я затем перебираю все текстовые файлы, удаляю из них ненужные “
и преобразовываю их в формат .csv
.
Наконец, я добавляю приведенную ниже строку в свой файл crontab
для автоматического выполнения и run_script.sh
каждый день, чтобы я мог автоматизировать все свои повседневные задачи.
Прежде чем идти, поделитесь и подпишитесь на мой канал, если вы считаете, что этот пост был полезен. Я очень ценю вашу поддержку. Спасибо!
Подпишитесь на меня в:✅ Техфитлаб 🔖 LinkedIn 🔖 Instagram 🔖 Twitter