Способи оплати Abuse

Cron у Лінукс: що це таке?

26.02.2023, 13:13

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

Як користуватися?

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

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

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

Щоб створити або змінити файл crontab, використовуйте команду crontab -e. Кожен користувач може мати свій власний файл crontab, а також системний файл /etc/crontab, який містить завдання, що запускаються від імені користувача root.

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

Використання Cron: покроковий алгоритм

Щоб почати використовувати Cron у Linux, дотримуйтесь цих кроків:

1. відкрийте термінал і введіть команду crontab -e. Це відкриє файл crontab для поточного користувача.

2. Додайте завдання у файл crontab відповідно до формату полів, описаного вище. Наприклад, якщо ви хочете запустити скрипт every_hour.sh щогодини, додайте рядок 0 * * * * * /path/to/every_hour.sh.

3. Збережіть зміни та закрийте файл.

4. Перевірте, що завдання додано в crontab, використовуючи команду crontab -l. Вона виведе список усіх завдань, доданих у crontab.

5. Переконайтеся, що завдання виконується відповідно до розкладу, використовуючи команду tail -f /var/log/syslog. Ви побачите висновок, пов'язаний із виконанням завдання.

6. Якщо ви хочете видалити завдання з crontab, використовуйте команду crontab -r.

Слід враховувати деякі важливі моменти:

  • у crontab можна додавати як скрипти, так і команди. Але якщо ви хочете виконати скрипт, переконайтеся, що в нього є права на виконання(chmod +x /path/to/script.sh).
  • якщо ви хочете, щоб завдання виконувалося з правами користувача root, використовуйте команду sudo crontab -e, щоб відкрити файл crontab для користувача root.
  • переконайтеся, що команди і скрипти, які ви запускаєте, перебувають у правильному місці і мають правильні дозволи на читання і виконання.

Зверніть увагу, що час, зазначений у crontab, відповідатиме часу на сервері, на якому запущено Cron. Якщо ви використовуєте віддалений сервер, переконайтеся, що час на сервері налаштовано правильно.