Cron (Крон) – все про цей планувальник завдань і його можливості

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

  • Сканування на наявність шкідливих програм;
  • Складання звітів;
  • Розсилка;
  • Видалення неактуальних даних, і багато іншого.

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

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

Що таке Cron?

На багатьох сайтах, можна прочитати про те, що Cron, є класичним демоном. Подібне твердження звучить досить дивно, але тільки для тих, хто не володіє спеціальною термінологією. Справа в тому, що «демон», він же «daemon» – це одна з різновидів програмного забезпечення для UNIX, характерною рисою якої, є запуск і робота в фоновому режимі. Як правило, такі програми запускаються під час завантаження системи.

«Демонів», використовують для:

  • Управління обладнанням;
  • Обслуговування серверів;
  • Виконання різних завдань, за заданим розкладом.

Як бачите, останній пункт безпосередньо стосується планувальника завдань Cron.

Ця програма була розроблена одним з піонерів комп’ютерних наук – Кеном Томпсоном. Сама назва, Cron (Крон), є відсиланням до слова «кронос», яке перекладається як «час».

Що таке Cron завдання?

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

Особливості роботи з Cron

Для того, щоб додати завдання для Cron, необхідно буде заповнити спеціальний файл для завдань – «crontab». Цей файл буде містити всю необхідну інформацію про те, в який час, і які саме програми, потрібно буде запускати, від імені конкретного користувача. Для того, щоб можна було змінювати файл crontab, не вдаючись до зупинки програми, використовується однойменна програма (crontab).

Існує три основні команди, для редагування і перегляду списку завдань Крон:

  1. «Crontab -l» – виводить вміст чинного файлу з розкладом завдань;
  2. «Crontab -r» – видалення розкладу завдань;
  3. «Crontab -e» – редагування розкладу завдань.

Безпосередньо розклад завдань, для Cron (Крон), виглядає як таблиця з шістьма колонками. П’ять колонок, відповідальні за час виконання завдання:

  1. Хвилина;
  2. Година;
  3. День;
  4. Місяць;
  5. День тижня.

З їх допомогою, можна максимально точно задати час запуску конкретної програми, проте у Cron (Крон), є одна особливість, яка обмежує можливість задати дату виконання завдання. Справа в тому, що практично всі умови, що стосуються часу виконання завдання, в Крон, перевіряються по логічному правилом «І».

Наприклад: 10 хвилин і 18 годин і 14 і червня. Що разом дає 14.06, о 18:10.

Однак, якщо вам потрібно задати одночасно параметри «день тижня» і «день місяця», то вони вже будуть оброблятися за правилом «АБО». Простіше кажучи, ви не зможете налаштувати запуск програми строго в п’ятницю, 13-е. Або в щоп’ятниці, або кожен місяць, тринадцятого числа.

Крім того, за розкладом завдань Cron, можна задавати запуск із зсувом в кілька хвилин. Наприклад, існує можливість запуску програми кожні п’ять хвилин, починаючи з конкретної дати і часу.

Також, необхідно чітко пам’ятати про наступні особливості:

  • Команди, за допомогою яких, ми формулюємо завдання в Cron, не можна розділяти на безліч рядків, навіть незважаючи на те, що вони використовують стандартний синтаксис;
  • Таблиця в файлі crontab, обов’язково повинна закінчуватися символом нового рядка, в іншому випадку, можуть бути проігноровані або останній рядок, або весь файл;
  • Файли, що знаходяться в каталогах, які скануються автоматично, не повинні містити в своєму імені точку. В іншому випадку, вони можуть бути проігноровані;
  • Дані, які виводяться в результаті запуску програм, відправляються користувачеві, від імені якого регулювали розклад, або за вказаною адресою електронної пошти, за допомогою спеціальної директиви «MAILTO».

Також не можна не згадати і про додаткові функції Cron, а саме:

  • «-j jitter» – встановлення деякого розкиду по часу, для виконання програми;
  • «-m mailto» – відправка звітів на вказану адресу пошти;
  • «-x debugflag[,….]» – включення запису налагоджувальних даних;
  • «-j rootjitter» – створення розкиду по часу для користувача «root».

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

Графічні інтерфейси для Cron

Зрозуміло, працювати з командного рядка, без графічного інтерфейсу, зручно не всім. Відповідно, для зручності користувачів в Cron (Крон), були створені спеціальні графічні оболонки, а саме:

  1. Gnome Shelude

Ця програма використовує для управління таблицею crontab, такі кошти як vixie-cron, at, dcron. Як правило, її використовує для дистрибутивів Debian.

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

Окремо варто сказати про те, що в цій програмі можна створювати шаблони для задач. Крім того, в Gnome Shelude, не можна виполянть завдання, які вимагають прав адміністратора. Для цього, потрібно запускати програму в режимі суперкористувача.

Запуск в режимі суперкористувача здійснюється з консолі, за допомогою команди «gksu gnome-schedule».

  1. KCron

Графічний інтерфейс для планувальника завдань Cron (Крон), який працює в робочому середовищі KDE. У сучасних версіях, дана програма, є модулем, який можна знайти в налаштуваннях системи. Для цього, зайдіть в розділ з системного адміністрування, і виберіть пункт «Планувальник завдань».

  1. Crontab UI

Безкоштовне ПЗ, з відкритим вихідним кодом, яке написано з використанням NodeJS. Має досить простим і зрозумілим графічним інтерфейсом, який дуже зручний в роботі в Cron (Крон).

Варто окремо відзначити такі можливості як:

  • Резервне копіювання завдань;
  • Можливість імпортування або експортування завдань для інших систем;
  • Можливість збереження файлів crontab.
  1. Планувальник Cron в ISPmanager

Цілком логічно, що в одній з найпопулярніших панелей управління хостингу, є свій власний графічний інтерфейс для Cron (Крон). Він представлений у вигляді модуля, під назвою «Завдання за (cron)».

Для його використання, у адміністратора повинні бути встановлені права суперкористувача.

Схожі програми

Зрозуміло, планувальник завдань Cron (Крон), не є єдиним і неповторним, і для того, щоб мати можливість користуватися його функціоналом, не обов’язково встановлювати Unix-системи.

Аналогами Cron, для Windows є:

  • Task Sheluder;
  • NnCron.

Висновок

Планувальник для задач Cron (Крон), є вкрай зручним і корисним інструментом, який обов’язковий до використання для великих проектів. З його допомогою, ви зможете налаштувати запуск конкретних програм, або вiдтворення сповіщень, в потрібний вам час, з потрібною періодичністю.

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

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

Також існує досить велика кількість альтернатив, для інших ОС.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Loading...
Цей сайт використовує «cookies». Також сайт використовує інтернет-сервіс для збору технічних даних щодо відвідувачів з метою отримання маркетингової і статистичної інформації. Умови обробки даних відвідувачів сайту див. Політика конфіденційності
×