Як створити завдання Cron в Linux: завдання Cron в Ubuntu

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

Cron jobs — це скрипти оболонки або команди Linux, зазначені в файлах crontab, які далі контролюються демоном cron і виконуються в певний час.

У цій статті ми розглянемо, як налаштувати cron-завдання в Ubuntu 22.04 і як cron-завдання працюють в операційній системі Linux.

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

Cron — це планувальник завдань на основі часу для дистрибутивів Linux/Unix. Він дозволяє планувати завдання для виконання через певний проміжок часу. Ви можете автоматизувати завдання з адміністрування та обслуговування системи в операційній системі Linux за допомогою cron-завдань. Ви також можете використовувати завдання cron в Linux для різних цілей, таких як:

  • Автоматизація процесу резервного копіювання баз даних, файлів і системних каталогів через певні проміжки часу. Це не тільки забезпечує доступність даних у разі збою системи або втрати даних, але й сприяє цілісності даних.
  • Адміністратори Linux можуть використовувати завдання cron Ubuntu для створення та надсилання автоматизованих звітів у запланований час. Ці звіти надають інформацію про події безпеки, продуктивність системи або інші важливі дії. Таким чином, завдання cron допомагають покращити процеси моніторингу та прийняття рішень.
  • За допомогою crontab ви можете періодично перевіряти доступність послуг. Такий підхід до моніторингу допомагає виявляти та усувати перебої в роботі послуг.

Нижче ми розглянемо, як встановити та використовувати утиліту завдань Ubuntu cron.

Необхідні умови

Щоб встановити та використовувати завдання cron в Ubuntu, ви повинні мати такі необхідні умови:

  • У вашій системі або всередині VirtualBox повинна працювати Ubuntu 22.04 або стабільна версія.
  • Ви повинні мати права sudo або root для встановлення та запуску необхідних утиліт.

Покрокова інструкція: як створити завдання Cron в Linux?

Утиліта cron попередньо встановлена в більшості дистрибутивів Linux. Однак ви можете перевірити установку за допомогою команди «systemctl status cron». Відкрийте термінал за допомогою «Ctrl + Alt + t» і введіть команду нижче, щоб перевірити стан роботи:

$ sudo systemctl status cron

Встановлення утиліти Cron в Ubuntu 22.04

Якщо ви отримаєте такий самий результат у своєму терміналі, це означає, що демон cron працює у вашій системі Ubuntu. Але якщо служба не знайдена або утиліта cron з будь-якої причини не встановлена у вашій системі, ви можете встановити утиліту cron у вашій системі Ubuntu 22.04, виконавши наступні кроки:

Крок 1: Оновлення системних пакетів

Спочатку рекомендується оновити локальні репозиторії вашої системи, включаючи всі пакети, за допомогою команди «apt update»:

$ sudo apt update

Крок 2: Встановіть Cron на Ubuntu

Щоб використовувати завдання cron, вам потрібно встановити утиліту cron на вашій системі Linux. В Ubuntu 22.04 ви можете встановити утиліту cron із стандартних репозиторіїв Ubuntu apt за допомогою такої команди:

$ sudo apt install cron

Після встановлення утиліти cron на вашій системі ви можете планувати та виконувати завдання періодично в певні дати, місяці, тижні, години та часові інтервали.

Крок 3: Увімкніть і запустіть службу Cron

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

$ sudo systemctl enable cron

Після увімкнення цієї служби у вашій системі буде створено символічне посилання. Запустіть службу cron за допомогою такої команди:

$ sudo systemctl start cron

Тепер знову перевірте стан роботи cron. На екрані має з'явитися такий результат:

Створення завдань Cron у Linux

Усі завдання cron вказані у файлі конфігурації cron Table, відомому як «crontab». Отже, щоб створити нове завдання cron, потрібно створити екземпляр або запустити crontab за допомогою такої команди:

$ crontab -e

Якщо ви запускаєте crontab у вашій системі вперше, вам потрібно буде вибрати опцію для вибору редактора файлів, який ви можете використовувати для виконання завдань cron. Тут ми виберемо редактор /bin/nano і натиснемо Enter.

Файл crontab буде відображений на терміналі. Цей файл заповнить термінал базовою синтаксичною структурою виразів cron.

Основна синтаксис завдання cron

Завдання cron записується у вигляді спеціального виразу cron. Цей вираз складається з двох частин: запланованого часу та команди, яку ви хочете виконати у терміналі.

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

Коли ви плануєте завдання cron у вашій системі, воно використовує шаблон з п'ятьма зірочками (*). Кожна зірочка позначає час у такому порядку:

[хвилина] [година] [день місяця] [місяць] [день тижня] [команда]
 

Пояснимо синтаксис часу виконання cron на прикладі.

Приклад

Наприклад, ви хочете запускати cron-завдання о 14:00 щосереди. У цьому випадку синтаксис вашого cron-завдання буде таким:

0 12 * * 3 <команда>

У наведеному вище виразі cron «0» означає, що завдання cron буде виконано один раз, «12» означає, що завдання cron буде виконано о 12 годині дня24-годинному форматі), «* *» означає, що завдання буде виконуватися щодня протягом кожного місяця, а «3» означає, що воно буде виконуватися в середу.

Розглянемо інший приклад: ви хочете відображати «рядок повідомлення» з датою кожну хвилину за допомогою команди echo. Цей рядок буде додаватися до файлу «testfile.text».

* * * * * echo «Welcome, $date» >> $HOME/Documents/testfile.txt

Вищезазначена команда створить файл у каталозі home/Documents вашої системи з назвою «testfile.txt».

Управління завданнями Cron в Linux

Після створення завдання cron ви можете легко керувати завданнями cron. Важливо бути обережним при роботі з crontab, оскільки неправильні налаштування або конфігурації можуть призвести до несподіваних результатів. Також важливо регулярно контролювати та тестувати заплановані завдання, щоб гарантувати правильне виконання автоматизованих процесів.

Щоб перелічити всі завдання Cron, ви можете відобразити їх за допомогою такої команди:

$ crontab -l

Перелік завдань Cron, що належать користувачам, у Linux

Аналогічно, ви також можете керувати завданнями Cron, що належать користувачам. Файли crontab для кожного користувача зберігаються в області spool. Якщо ви перелічите всі файли каталогу spool, ви можете легко відстежувати файли crontab, що належать користувачам, за допомогою такої команди:

$ ls /var/spool/cron/crontabs

Ви також можете перелічити файли crontab, що належать користувачам, за допомогою наступної команди з правами «root»:

$ crontab -u <ім'я користувача> -l

Замініть «ім'я користувача» на своє ім'я користувача.

Видалення завдання cron в Ubuntu

Якщо ви хочете видалити завдання cron в Linux, використовуйте наступну команду:

$ crontab -r

Щоб видалити завдання cron конкретного користувача, скористайтеся цією командою:

$ crontab -r -u <ім'я користувача>

Редагування завдання Cron

Якщо ви хочете редагувати файл для конкретного користувача, ви можете редагувати завдання cron за допомогою такої команди:

$ crontab -u <ім'я користувача> -e

Список завдань Cron

За замовчуванням, дії та журнали, пов'язані з сервісом cron, зберігаються в глобальному файлі журналу, розташованому в «/var/log/syslog». Щоб переглянути дії та повідомлення сервісу cron, ви можете використовувати команду «grep» для фільтрування та вилучення відповідної інформації з файлу syslog.

$ grep CRON /var/log/syslog

Це дозволяє виділити та відобразити тільки записи, пов'язані з діяльністю служби cron.

Ви також можете керувати системними файлами crontab. Ці системні crontabs, які містять заплановані завдання для всієї системи, обмежені користувачем root. Вони не можуть бути змінені жодним іншим користувачем.

На відміну від crontabs, що належать конкретним користувачам, для прямого редагування цих системних файлів crontab не існує спеціальної команди «crontab». Натомість системні адміністратори повинні отримати доступ до цих файлів і редагувати їх безпосередньо, щоб внести будь-які зміни або доповнення до запланованих завдань для всієї системи. Щоб отримати доступ до вмісту цих системних файлів, скористайтеся наведеною нижче командою:

$ nano /etc/crontab

Якщо ви використовуєте VPS-хостинг для своєї системи Linux, скористайтеся наведеними вище кроками, щоб додати нові завдання cron за допомогою crontabs. Аналогічно, використовуючи різні інструменти, ви можете легко керувати завданнями cron на своєму комп'ютері.

Висновок

У цьому посібнику ми дізналися, як використовувати утиліту cron в Ubuntu 22.04 для автоматизації завдань в Linux. Cron — це утиліта, яка допомагає планувати та налаштовувати завдання для виконання в певний час, у певні дні або через регулярні проміжки часу.

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

Якщо вам потрібна додаткова інформація, ви завжди можете переглянути офіційну документацію Cron або відвідати сторінку crontab manual. Для отримання довідки про crontab використовуйте команду «man cron» через термінал.

Blog