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

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

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

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

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

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

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

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

Передумови

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

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

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

У більшості дистрибутивів Linux утиліта cron є попередньо встановленою. Однак ви можете перевірити встановлення за допомогою команди «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, відомої як «crontab». Отже, щоб створити нове завдання cron, вам потрібно створити або запустити crontab за допомогою наведеної нижче команди:

$ crontab -e

Як створити Завдання cron в linux: ubuntu cron job

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

На екрані з'явиться файл crontabfile. Цей файл заповнить термінал базовим синтаксисом виразів cron.

Як створити Завдання cron в linux: ubuntu cron job

Тут ви помітите символ «#» на початку кожного рядка. Цей символ вказує на наявність коментаря до рядка.

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

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

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

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

[minute] [hour] [day of month] [month] [day of week] [command].

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

Поле Допустимі значення

Хвилина В діапазоні від 0 до 59

година 24-годинний формат від 0 до 23.

день місяця Приймає значення від 1 до 31.

місяць Приймає значення від 1 до 12 місяців або назви типу СІЧ - ГРУД.

день тижня Відображає 7 днів тижня від 0 до 6 або дні з назвами SUN - SAT.

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

Приклад

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

0 12 * * 3 <command>

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

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

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

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

Відкрийте цей файл, і ви побачите наступний вміст:

Як створити Завдання cron в linux: ubuntu cron job

Керування завданнями cron у Linux

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

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

$ crontab -l

Як створити Завдання cron в linux: ubuntu cron job

Як ви можете бачити на скріншоті, виконується лише одне завдання cron, і це те, яке було створено вище.

Перегляд користувацьких завдань cron у Linux

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

$ ls /var/spool/cron/crontabs

Як створити Завдання cron в linux: ubuntu cron job

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

$ crontab -u <user-name> -l

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

Видалення завдання системного cron Ubuntu

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

$ crontab -r

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

$ crontab -r -u <username>

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

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

$ crontab -u <username> -e

Перегляд журналу завдань cron

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

$ grep CRON /var/log/syslog

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

Як створити Завдання cron в linux: ubuntu cron job

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

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

$ nano /etc/crontab

Як створити Завдання cron в linux: ubuntu cron job

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

Висновок

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

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

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

Blog