Крон, сокращение от запустить команду онлайн, — мощный планировщик заданий по времени для Unix-подобных операционных систем. Срок оплаты хрон это игра слов короны или Хронос, который представляет время в греческой мифологии. Название cron планировщика заданий, основанного на времени, отражает его функцию по планированию и выполнению задач в определенное время или через определенные промежутки времени, что делает его подходящей ссылкой на концепцию времени в мифологии.

Cron позволяет автоматизировать повторяющиеся задачи, выполнять сценарии через заданные интервалы и поддерживать эффективность системы. Это подробное руководство даст вам все, что вам нужно знать о cron, от установки до использования, ключевой словарный запас и примеры реального кода.

Оглавление

  1. Что такое корона?
  2. Установка крона
  3. Основные понятия и терминология
  4. Синтаксис Крон
  5. Примеры и варианты использования
  6. Распространенные ошибки и лучшие практики
  7. Дополнительные ресурсы cron

Что такое болезнь Крона?

Cron — это демон (фоновый процесс), который работает в системах на базе Unix, включая Linux и macOS. Его основная цель — автоматическое выполнение запланированных задач. Эти задачи могут варьироваться от простых сценариев до обслуживания системы и резервного копирования.

Установка крона

Большинство Unix-подобных систем поставляются с предустановленным cron. Вы можете проверить его доступность, открыв терминал и набрав:

crontab -e

Если эта команда открывает редактор таблиц cron, у вас установлен cron. Если нет, вы можете установить его с помощью системного менеджера пакетов. Например, в Ubuntu вы можете использовать:

sudo apt-get install cron

Концепции и терминология короны

Прежде чем мы углубимся в использование cron, давайте разберемся с некоторыми важными понятиями и терминологией:

  • Кронтаб: Суммируя таблица хронаэто файл, содержащий список запланированных пользователем задач.
  • Кронджоб: отдельная задача или команда, запуск которой запланирован на определенное время.
  • Страна: каждое задание cron имеет пять полей, которые определяют, когда задание выполняется:
    • Минута (0-59)
    • Час (0-23)
    • День месяца (1-31)
    • Месяц (1-12)
    • День недели (0–7, где 0 и 7 обозначают воскресенье)
ЧИТАТЬ  Полное руководство по партнерской программе Groupon

Синтаксис Крон

Понимание синтаксиса записей crontab очень важно. Это следует шаблону:

* * * * * command-to-be-executed

Вот объяснение с комментариями, которое вы можете включить в свое задание cron:

# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php

Каждая звездочка

30 15 * * * command-to-be-executed

представляет поле в выражении cron. Например, чтобы запланировать работу каждый день в 15:30, используйте:

Примеры и варианты использования Cron

  • Давайте рассмотрим несколько практических примеров, иллюстрирующих использование cron: Запуск скрипта ежедневно:
0 0 * * * /path/to/script.sh
  • Чтобы запускать скрипт каждый день в полночь, вы можете использовать: Запуск скрипта каждый час:
0 * * * * /path/to/script.sh
  • Для урока используйте: Еженедельное резервное копирование:
0 2 * * 0 /path/to/backup-script.sh
  • Чтобы запланировать еженедельное резервное копирование по воскресеньям в 2:00, используйте: Выполнение задания в определенные месяцы:
30 8 * 1,7 * /path/to/script.sh

Работать только в январе и июле в 8:30 утра:

  • Сбои Cron и лучшие практикиПеременные среды
  • : убедитесь, что ваши задания cron установили необходимые переменные среды, поскольку задания cron не наследуют переменные среды вашей оболочки. Разрешения:
  • Обязательно установите права доступа к исполняемому файлу сценария. Каждый раз, когда я повторно сохранял свой сценарий, мне приходилось заново устанавливать разрешения!Переменные пути
  • : Укажите полный путь к исполняемым файлам и сценариям в заданиях cron, чтобы избежать проблем с относительными путями.Тестирование
  • : Прежде чем настраивать важные задания cron, протестируйте их в безопасной среде, чтобы убедиться, что они работают должным образом.Ведение журнала
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

: перенаправить выходные данные заданий cron в файл журнала, чтобы отслеживать их выполнение и возможные ошибки. /path/to/script.sh Это задание cron запускает скрипт /path/to/cron.logкаждый день в полночь, а выходные данные (как stdout, так и stderr), сгенерированные сценарием, добавляются в файл журнала.

  • . Обычной практикой является запись и протоколирование результатов заданий cron для целей мониторинга и устранения неполадок. Давайте разберем этот конкретный синтаксис задания cron: *0 0 * * *:
  • Эта часть определяет расписание запуска задания cron. В этом случае он будет запускаться каждый день в полночь (0 минут после 0 часов)./путь/к/script.sh /path/to/script.sh: это команда или сценарий, который запускается при запуске задания cron. В этом примере показан сценарий, который
  • .>> /путь/к/cron.log cron.log : эта часть направляет стандартный вывод (stdout) задания cron в файл журнала с именем /path/to/Расположен >> .
  • Оператор добавляет выходные данные в файл журнала, поэтому, если файл не существует, он будет создан, а если он уже существует, выходные данные будут добавлены в конец файла.2>&1 2 : используется для направления стандартного вывода (stdout) и стандартных ошибок (stderr) в один и тот же файл журнала. 1 означает stderr и 2>&1 означает стандартный вывод. Итак,
ЧИТАТЬ  Четыре (4) типа установленной власти - Bscholarly

означает, что стандартный вывод и стандартный вывод направляются в один и тот же файл журнала, указанный выше.

Cron — ценный инструмент для автоматизации задач в системах Unix. Благодаря гибким возможностям планирования это может упростить администрирование системы и повысить эффективность. Понимая его синтаксис и следуя передовым практикам, вы сможете воспользоваться возможностями cron для эффективной автоматизации своих повседневных задач.

Дополнительные ресурсы Cron

Source