Налаштування Cron особливості, покрокова інструкція та відгуки

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

Що таке Cron?

Назва програми утворена від грецького "хронос", що означає час. Що, власне, логічно. Завдання демона — у певні моменти виконувати записані команди. Сам процес реалізації заснований на перевірці таблиць крона та порівнянні їх з поточними датою та часом.

Файл crontab

Найголовнішим елементом налаштування Cron є конфігураційний файл crontab. Він містить у собі команди виконання та шляхи до скриптів. Усі вони запускаються від імені суперкористувача. Так як вони розташовані в директорії /etc/cron.d, налаштування цих файлів повинно проводитись саме там.

налаштування

Для кожного окремого користувача системи використовується файл crontab.

Різні дистрибутиви Linux використовують свої каталоги для зберігання налаштувань користувача. Для RedHat це var/spool/cron. У Debian та Ubuntu це буде var/spool/cron/crontabs. І var/spool/cron/tabs у SUSE.

Список команд для керування crontab

Cron має набір спеціальних директив, за допомогою яких можна керувати планувальником. Застосовувати їх потрібно у зв'язку з crontab. Ось невеликий список:

Формат завдання

Як було сказано вище, налаштування Cron полягає у завданні команд у спеціальному файлі. Виглядає це як простий запис, що складається з шести колонок:

  • у першій вказується кількість хвилин. Доступний інтервал — від 0 до 59. Можна використовувати кілька значень, діапазон таспеціальні символи;
  • друга колонка - годинник. Можуть використовуватись значення від 0 до 23;
  • далі – день. Тут можна зазначити число від 1 до 31;
  • четвертий – місяць. Мінімальне значення 1, максимальне - 12;
  • п'ятий - тиждень. 0 чи 7 відповідає неділі;
  • останньою йде сама виконувана команда.

Як згадувалося, у файлі можна вказати спеціальні символи, «*» чи «/». Наприклад, такий запис - 23 * / 2 *** echo "Виконати" означає, що кожна парна година і 23 хвилини буде відображатися напис "Виконати".

налаштування

Особливості файлу crontab

При налаштуванні Cron необхідно пам'ятати, що він має специфічні властивості, які варто враховувати при конфігуруванні:

Додаткові змінні

При налаштуванні Cron можна застосовувати у командах спеціальні значення та скорочення. Наприклад, для вказівки дня тижня можна використати наступний список:

  • sun - неділя;
  • mon - понеділок;
  • tue - Вівторок;
  • wed - Середовище;
  • thu - четвер;
  • fri - п'ятниця;
  • sat – субота.

особливості

Також для налаштування Cron є окремі змінні, які можуть замінити цілі рядки команд:

  • @reboot. Команда стартуватиме щоразу під час запуску комп'ютера;
  • @yearly. Це завдання буде запускатися один раз на рік. Еквівалентний їй запис у числовому вигляді може бути таким: 0 0 1 1 *. Її синонім ще можна записати як @annually;
  • @monthly. Як можна здогадатися з назви, ця змінна здійснює запуск команди раз на місяць. Її числовий аналог - 0 0 1 * *;
  • @weekly. Ця змінна запускатиметься щотижня;
  • @dayly. Раз в день;
  • @midnight. Запуск буде здійснено опівночі;
  • @hourly. Кожну годину.

Налаштування Cron у Centos 7

особливості

Декілька корисних прикладів для створення часто повторюваних завдань

Можна налаштувати Cron таким чином, щоб охопити практично всі потреби будь-якого користувача.

  • 00 09-17 * * 1 - 5 /шлях/ до команди/ крона. Ця команда автоматично виконуватиме заплановану дію кожного робочого дня з 9 до 5 годин кожну першу хвилину;
  • 00 9,17 * * * /шлях/ до команди/ крона. У цьому прикладі відбувається виконання команди двічі на день. Перший о 9, другий - о 5 годині. Знак «*» показує, що команда виконуватиметься щодня, місяць та рік;
  • Також не варто забувати і про символьні змінні. Наприклад, @monthly буде виконувати завдання щомісяця в першу хвилину першої години першого дня. А @daily запускатиметься щодня.

Відгуки користувачів про планувальника Cron.

Як правило, для рядових і недосвідчених користувачів Cron є всього лише набір символів. Але для системних адміністраторів і затятих «лінуксоїдів» дана утиліта є незамінним помічником. Багато хто відзначає гнучкість та продуктивність добре налаштованої системи.

cron

За допомогою Cron можна автоматизувати рутинні процеси, які надто складно виконувати вручну через певні часові відтинки. Будь то створення бекапів системи або її оновлення.

Однак, є і невеликі нюанси. Наприклад, деякі сисадміни відзначають, що було б непогано мати у планувальнику можливість реалізації команд що секунди. Але розробники програми неодноразово давали зрозуміти, що цю опцію впроваджувати вони не будуть.

Користувачі-початківці зазвичай губляться у великій кількості налаштувань і складнощів при запуску демонапланувальника. Їх є більш зрозумілі оболонки. Наприклад, для дистрибутивів, заснованих на Debian, може стати gnome schedule. KDE версія називається kcron.

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