Власний файл crontab: приклади, описи і відгуки


Опубликованно 24.03.2018 10:56

Власний файл crontab: приклади, описи і відгуки

Програмна утиліта Cron — це планувальник завдань з часу Unix-подібних комп'ютерних операційних системах. Користувачі, які налаштовують і підтримують програмні середовища, використовують Cron для планування завдань (команд або сценаріїв оболонки) для періодичного запуску в певний час, дати чи інтервали. Зазвичай він автоматизує обслуговування або адміністрування системи, хоча його універсальний характер робить його корисним для таких речей, як завантаження файлів з Інтернету та оновлення електронної пошти через певні часові проміжки. Походження назви cron від грецького слова "у часі" - ?????? (chronos).

Застосування

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

Скрипти, що виконуються як завдання Cron, зазвичай використовуються для зміни файлів або баз даних. Однак вони можуть виконувати інші завдання, які не змінюють дані на сервері, такі як відправка повідомлень по e-mail.

Відгуки

Відгуки користувачів відзначають економію часу і зручність експлуатації при використанні цього планувальника. Відзначається, що уніфіковане розклад дозволяє структурувати роботу користувача і обладнання. Також у відгуках відзначається легка читаність і гнучкість коду. Розробники вибирають функціонал Crontab за інтуїтивно зрозумілий інтерфейс планування, широкий діапазон команд і оптимальну керованість. Огляд

Cron управляється форматом Crontab (cron table) — конфігураційним файлом, який задає команди оболонки для періодичного запуску за розкладом. Файли Crontab зберігаються там, куди інтегровані списки завдань і інші алгоритми для застосування. Користувачі можуть мати свої власні приклади Crontab-файлів, які можуть редагуватися системними адміністраторами.

Кожен рядок файлу являє собою завдання. Приклад Crontab виглядає наступним чином:

# ?????????????? minute (0 - 59)# ? ?????????????? hour (0 - 23)# ? ? ?????????????? day of month (1 - 31)# ? ? ? ?????????????? month (1 - 12)# ? ? ? ? ?????????????? day of week (0 - 6) (Sunday to Saturday;# ? ? ? ? ? 7 is also on Sunday some systems)# ? ? ? ? ?# ? ? ? ? ?# * * * * * command to execute

Синтаксис кожного рядка припускає вираз Cron, що складається з п'яти полів.

Зазвичай завдання виконується, коли поля часу/дати відповідають поточному часу та дати, є одне виключення: якщо обидва «дні місяця» (поле 3) і «день тижня» (поле 5) обмежені, то один або обидва повинні відповідати поточним дня.

Наприклад, наступна команда очищає журнал помилок Apache за одну хвилину за північ (00:01) кожен день: 10 * * * printf > /var/log/apache/error_log.

Даний приклад файлів Crontab запускає програму оболонки під назвою export_dump.sh о 23:45 (23:45) щосуботи.

Конфігураційний файл для користувача можна редагувати, викликаючи дані незалежно від того, де фактична реалізація зберігає цей файл.

Freebsd Crontab: приклади

Деякі реалізації Cron додають шосте поле: ім'я користувача, яке запускає завдання (в залежності від існування користувача і дозволів).

Робоче знання команд Linux потрібно для ефективного використання завдань Cron. Виконання команд Cron можна налаштувати на хвилину, годину, день тижня, місяця або будь-яку їх комбінацію.

Актуальні утиліти по обмеженню завдань Cron на спільних серверах для роботи через 15-хвилинні інтервали, оскільки надлишкові завдання можуть викликати великі навантаження на сервер.

Деякі приклади вмісту Crontab підтримують такі нестандартні макроси:

@yearly (або @annually) — обробляється один раз в рік опівночі 1 січня;

@monthly — один раз на місяць в 00:00 годин першого дня місяця;

@weekly — раз в тиждень опівночі в неділю;

@daily — один раз в добу опівночі;

@hourly — один раз на годину на початку години;

@reboot — активується при запуску програми.

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

Оператори Crontab

Існує кілька способів ввести значення у полі:

Оператор комою (',') визначає список значень: "1,3,4,7,8".

Тире ('-') визначає проміжні значення, наприклад: «1-6», що еквівалентно «1,2,3,4,5,6».

Asterisk ('*') заповнює всі можливі дані для поля. Зірочка в поле часу години буде еквівалентна «кожну годину».

Оператор slash ('/'), який може використовуватися для пропускання заданого числа значень. Наприклад, «*/3» в полі часу години еквівалентно «0,3,6,9,12,15,18,21». Команда "*" вказує «кожну годину», а «/3» означає, що використовується тільки перший, четвертий, сьомий, тобто кожен третій годину. Приклад інтерфейсу файлу Crontab: обробка тимчасової зони

Більшість реалізацій Cron просто інтерпретують запису Crontab в налаштування часового поясу системи, в якій працює утиліта. Це може бути джерелом конфлікту, якщо машина має користувачів в різних часових поясах. Отже, реалізація Cron може як виняток створювати рядка налаштувань середовища «CRON_TZ = <Часовий пояс», інтерпретуючи наступні приклади crontab щодо цього часового поясу.

Елементи роботи Cron

Більшість завдань Cron включають три компоненти:

Сценарій, який повинен бути викликаний або виконаний.

Команда, яка виконує сценарій на регулярній основі (зазвичай встановлюється в cPanel).

Дія або висновок скрипта, який залежить від того, що викликає сценарій.

Більшість скриптів, що вимагають використання завдання Cron, надають конкретні інструкції по налаштуванню. Якщо ви не впевнені у коректній роботі, зверніться до автора свого скрипта перед додаванням завдання Cron. Як створити і видалити завдання Crontab?

Завдання запускають заплановані команди в певний час. Інструмент Cron Jobs в cPanel корисний для налаштування автоматичного обслуговування та інших завдань безпілотного сервера.

Щоб створити роботу Cron:

Увійдіть у cPanel.

У розділі «Додатково», натисніть «Робочі місця».

У розділі Cron Email переконайтеся, що адреса електронної пошти дійсний. Якщо ні, введіть новий і натисніть «Оновити електронну пошту». Ви отримаєте електронний лист після завершення.

В розділі «Додати нове завдання для Cron» використовуйте розкривне меню «Загальні налаштування», щоб вибрати зі списку регулярно використовуваних інтервалів; або встановіть частоту вашого завдання, використовуючи розкривний список поряд з кожним блоком часу. Загальні налаштування варіюються від кожної хвилини до одного разу на рік.

У полі Command введіть потрібну команду.

Натисніть «Додати нове завдання».

Потім ваше завдання Cron буде виконувати файл в певний час, дату і повторення у відповідності з обраними вами параметрами.Видалення або редагування завдання

Щоб видалити або відредагувати завдання Cron:

В розширеному розділі cPanel клацніть значок «Робочі місця».

Прокрутіть список до останнього розділу «Поточні вакансії».

Знайдіть завдання Cron, який ви хочете відредагувати або видалити.

У розділі «Дії» для відповідного завдання Cron натисніть «Змінити» або «Видалити».



Категория: Техника