Налаштування Cron: особливості, покрокова інструкція та відгуки
Дуже часто в Linux-подібних системах може знадобитися автоматизувати деякі рутинні процеси. Для цього застосовуються спеціальні планувальники. Одним з найбільш відомих із них є Cron, налаштування якого і піде мова в цій статті.
в першій вказується кількість хвилин. Доступний інтервал — від 0 до 59. Можна використовувати декілька значень, діапазон і спеціальні символи; друга колонка — годинник. Можуть використовуватися значення від 0 до 23; далі — день. Тут можна вказати число від 1 до 31; четвертий — місяць. Мінімальне значення 1 максимальна — 12; п'ята — тиждень. 0 або 7 відповідає неділі; останньою йде сама виконувана команда. Як було згадано, у файлі можна вказати спеціальні символи «*» або «/». Наприклад, такий запис— 23 */2 *** echo «Виконати» означає, що кожний парний годину 23 хвилини відображатиметься напис «Виконати».
sun — неділя; mon — понеділок; tue — вівторок; wed — середовище; thu — четвер; fri — п'ятниця; sat — субота. Для місяців також є окремі літерні значення — jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec. Також для налаштування Cron є окремі змінні, здатні замінити цілі рядки команд: @reboot. Команда стартуватиме кожен раз при запуску комп'ютера; @yearly. Дана задача буде запускатися один раз в рік. Еквівалентна їй запис в числовому вигляді може бути такою: 001 1 *. Її синонім ще можна записати як @annually; @monthly. Як можна здогадатися з назви, дана змінна робить запуск команди раз в місяць. Її числовий аналог— 001 * *; @weekly. Ця змінна буде запускатися щотижня; @dayly. Раз в день; @midnight. Запуск буде проведений опівночі; @hourly. Кожну годину.
З допомогою Cron можна автоматизувати рутинні процеси, які надто складно виконувати вручну через певні проміжки часу. Будь то створення бекапів системи або її оновлення. Проте є і невеликі нюанси. Наприклад, деякі сисадміни зазначають, що було б непогано мати в планувальнику можливість реалізації команд кожну секунду. Але розробники програми не раз давали зрозуміти, що дану опцію впроваджувати вони не будуть. Початківці зазвичай губляться у великій кількості налаштувань і складнощів при запуску демона планувальника. Для них є більш зрозумілі оболонки. Наприклад, для дистрибутивів, заснованих на Debian, їй може стати gnome schedule. KDE версія називається kcron.
Що являє собою 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. Ось невеликий список: -u ім'я_користувача. Встановлює користувача, завданнями та налаштуваннями якого будуть проводитися подальші дії. Якщо опустити цей ключ, то буде поставлено користувач за замовчуванням. -l. Виведе поточний список завдань. -e. Робить запуск редактора для планувальника завдань. -r. Видаляє всі наявні завдання зі списку.Формат завдання
Як було сказано вище, 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 — субота. Для місяців також є окремі літерні значення — jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec. Також для налаштування Cron є окремі змінні, здатні замінити цілі рядки команд: @reboot. Команда стартуватиме кожен раз при запуску комп'ютера; @yearly. Дана задача буде запускатися один раз в рік. Еквівалентна їй запис в числовому вигляді може бути такою: 001 1 *. Її синонім ще можна записати як @annually; @monthly. Як можна здогадатися з назви, дана змінна робить запуск команди раз в місяць. Її числовий аналог— 001 * *; @weekly. Ця змінна буде запускатися щотижня; @dayly. Раз в день; @midnight. Запуск буде проведений опівночі; @hourly. Кожну годину.
Cron в Centos 7
Сам процес установки і конфігурування мало чим відрізняється від інших схожих Linux дистрибутивів. Перед налаштуванням Cron Centos необхідно встановити пакет cronie в систему. Зробити це можна за допомогою команди yum install cronie. Для створення файла з інструкціями потрібно виконати в терміналі crontab -e. Всі системні налаштування Cron будуть зберігатися за адресою /var/spool/cron/ім'я користувача.Кілька корисних прикладів для створення часто повторюваних завдань
Можна провести настройку Cron таким чином, щоб охопити практично всі потреби будь-якого користувача. 0009-17 * * 1 - 5 /шлях/до команди/крона. Дана команда буде автоматично виконувати заплановане дію кожен робочий день з 9 до 5 годин кожну першу хвилину; 00917 * * * /шлях/до команди/крона. У цьому прикладі відбувається виконання команди два рази в день. Перший в 9 другий - до 5 годин. Знак «*» показує, що команда буде виконуватися кожен день, місяць і рік; Також не варто забувати і про символьні змінні. Наприклад, @monthly буде виконувати завдання кожен місяць в першу хвилину першої години першого дня. А @daily буде запускатися кожен день.Відгуки користувачів про планувальнику Cron
Як правило, для рядових і недосвідчених користувачів Cron являє собою всього лише набір символів. Але от для системних адміністраторів і завзятих «линуксоидов» дана утиліта є незамінним помічником. Багато відзначають гнучкість і продуктивність добре налагодженої системи.З допомогою Cron можна автоматизувати рутинні процеси, які надто складно виконувати вручну через певні проміжки часу. Будь то створення бекапів системи або її оновлення. Проте є і невеликі нюанси. Наприклад, деякі сисадміни зазначають, що було б непогано мати в планувальнику можливість реалізації команд кожну секунду. Але розробники програми не раз давали зрозуміти, що дану опцію впроваджувати вони не будуть. Початківці зазвичай губляться у великій кількості налаштувань і складнощів при запуску демона планувальника. Для них є більш зрозумілі оболонки. Наприклад, для дистрибутивів, заснованих на Debian, їй може стати gnome schedule. KDE версія називається kcron.
Висновки
В цілому, Cron є відмінним інструментом для автоматизації багатьох рутинних процесів і полегшення роботи з системою. Для тих, хто недолюблює командний рядок і тонкощі ручного налаштування конфігураційних файлів, є кілька різновидів Cron у графічній оболонці, що спрощують взаємодію. В інших операційних системах також є свої версії планувальників, наприклад, в середовищі Windows це NnCron. Ще один аналог — Task Scheduler. Він також доступний у лінійці систем від Microsoft. А його консольна версія — schtasks.exe.Цікаво по темі
Опис команди NETSTAT (статистика активних підключень TCP)
Розбір і опис команди Netstat, її ключів і параметрів. Застосування її в середовищах Linux і Windows для отримання розширеної мережевий статистики.
Установка і настройка phpMyAdmin: покрокова інструкція та рекомендації
Докладний опис установки і настройки програми для управління базами даних PhpMyAdmin в різних системах.
Три способи, як перейменувати файл в Linux
Кожна операційна система має на увазі під собою взаємодію з файлами. Нерідко користувачеві доводиться стикатися з потребою у перейменування файлу. На
Як вивести в Linux список користувачів?
За допомогою якої команди можна переглянути в Linux список користувачів? Як розшифрувати отримані записи і зрозуміти, що написано на екрані?
Wget-команди: приклади. Консольна програма для завантаження файлів з мережі Wget
Опис одного з найбільш відомих і старих менеджерів завантажень. Wget-команди та основні параметри для роботи з утилітою.