CRM та платформи данихмаркетингові інструменти

Розуміння та використання Cron: вичерпний посібник із планування завдань

Cron, скорочено команда запуску онлайн, це потужний планувальник завдань на основі часу в Unix-подібних операційних системах. Термін крон це гра слів Kronos or Chronos, який у грецькій міфології символізує час. Назва cron для планувальника завдань на основі часу відображає його функцію планування та виконання завдань у певний час або інтервали, що робить його відповідним посиланням на концепцію часу в міфології.

Cron дозволяє автоматизувати повторювані завдання, виконувати сценарії через певні проміжки часу та підтримувати ефективність системи. Цей вичерпний посібник проведе вас через усе, що вам потрібно знати про cron, від встановлення до використання, ключового словника та реальних зразків коду.

Зміст

  1. Що таке cron?
  2. Встановлення Cron
  3. Основні поняття та термінологія
  4. Синтаксис Cron
  5. Приклади та випадки використання
  6. Поширені підводні камені та найкращі практики
  7. Додаткові ресурси cron

Що таке Крон?

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

Встановлення Cron

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

crontab -e

Якщо ця команда відкриває редактор таблиці cron, у вас установлено cron. Якщо ні, ви можете встановити його за допомогою системного менеджера пакетів. Наприклад, в Ubuntu ви можете використовувати:

sudo apt-get install cron

Концепції та термінологія Cron

Перш ніж заглибитися в використання cron, давайте розберемося з деякими основними поняттями та термінологією:

Пояснення на діаграмі Крон
  • кронтаб: скорочення від таблиця cron, це файл, який містить список запланованих завдань для користувача.
  • Кронджоб: одне завдання або команда, запланована для виконання в певний час.
  • Поля: Кожен cronjob має п’ять полів, які визначають час виконання завдання:
    • Хвилини (0-59)
    • Година (0-23)
    • День місяця (1-31)
    • Місяць (1-12)
    • День тижня (0-7, де і 0, і 7 представляють неділю)

Синтаксис Cron

Розуміння синтаксису запису 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

Кожна зірочка (*) представляє поле у ​​виразі cron. Наприклад, щоб запланувати роботу щодня о 3:30, ви повинні використати:

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

Приклади та варіанти використання Cron

Давайте розглянемо кілька практичних прикладів, щоб проілюструвати використання cron:

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

Підводні камені Cron і найкращі практики

  • Змінні оточення: Переконайтеся, що ваші завдання cron налаштували необхідні змінні середовища, оскільки завдання cron не успадковують змінні середовища вашої оболонки.
  • Permissions: Переконайтеся, що ви встановили дозволи для файлу сценарію як виконуваного. Кожного разу, коли я повторно зберігав свій сценарій, я виявляв, що мої дозволи потрібно встановлювати знову!
  • Змінні шляху: укажіть повний шлях до виконуваних файлів і сценаріїв у ваших завданнях cron, щоб уникнути проблем із відносними шляхами.
  • Тестування: перевірте їх у безпечному середовищі перед налаштуванням критичних завдань cron, щоб переконатися, що вони працюють належним чином.
  • Запис: Перенаправляйте вихід ваших завдань cron у файл журналу, щоб відстежувати їх виконання та будь-які потенційні помилки.
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1

Це завдання cron запускає сценарій /path/to/script.sh кожного дня опівночі, а вихід (як stdout, так і stderr), створений сценарієм, додається до файлу журналу

/path/to/cron.log. Це звичайна практика для захоплення та журналювання результатів завдань cron для моніторингу та усунення несправностей. Давайте розберемо цей конкретний синтаксис завдання cron:

  • *0 0 * * *: Ця частина визначає розклад виконання завдання cron. У цьому випадку його заплановано виконувати щодня опівночі (0 хвилин на 0 годин).
  • /шлях/до/script.sh: це команда або сценарій для виконання під час виконання завдання cron. У цьому прикладі показано сценарій, розташований за адресою /path/to/script.sh.
  • >> /шлях/до/cron.log: Ця частина перенаправляє стандартний вихід (stdout) завдання cron до файлу журналу під назвою cron.log розташований в /path/to/, >> оператор додає вихідні дані до файлу журналу, тому, якщо файл не існує, він буде створений, а якщо він уже існує, вихідні дані буде додано в кінець файлу.
  • 2> & 1: це використовується для переспрямування як стандартного виводу (stdout), так і стандартної помилки (stderr) до одного файлу журналу. The 2 представляє stderr, і 1 представляє stdout. Так, 2>&1 означає, що як stdout, так і stderr перенаправляються до того самого файлу журналу, указаного раніше.

Cron є цінним інструментом для автоматизації завдань у системах на базі Unix. Завдяки гнучким параметрам планування він може спростити адміністрування системи та підвищити ефективність. Розуміючи його синтаксис і дотримуючись найкращих практик, ви можете використовувати потужність cron для ефективної автоматизації своїх рутинних завдань.

Додаткові ресурси Cron

Douglas Karr

Douglas Karr є CMO компанії OpenINSIGHTS і засновник Martech Zone. Дуглас допоміг десяткам успішних стартапів MarTech, допоміг у належній перевірці понад 5 мільярдів доларів у придбання та інвестиції Martech, і продовжує допомагати компаніям у впровадженні та автоматизації їхніх продажів і маркетингових стратегій. Дуглас — міжнародно визнаний експерт і спікер з цифрової трансформації та MarTech. Дуглас також є опублікованим автором посібника для чайників і книги про лідерство в бізнесі.

Статті по темі

Догори кнопки
близько

Виявлено блокування реклами

Martech Zone може надати вам цей вміст безкоштовно, оскільки ми монетизуємо наш сайт за рахунок доходів від реклами, партнерських посилань і спонсорства. Ми будемо вдячні, якщо ви видалите блокувальник реклами під час перегляду нашого сайту.