crontab

Crontab в Linux

Crontab в Linux
З появою нових технологій ми хочемо, щоб все було автоматизовано, включаючи наші комп’ютерні системи. Наприклад, як системний адміністратор, ми можемо хотіти, щоб резервне копіювання запускалось щовечора о 02:00. Тоді яка мета комп’ютерів, якщо нам доводиться прокидатися щодня о 02:00 та запускати команди вручну, щоб розпочати резервне копіювання. Повинен бути спосіб, який повідомляє системі про автоматичне запуск резервної копії у визначений час. На щастя, ОС Linux пропонує утиліту cron, яка дозволяє автоматизувати завдання в певний період.

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

У цій статті ми пояснимо на різних прикладах шоу, як ви можете редагувати та використовувати файл crontab для планування завдань у системі Debian 10.

Cron можна використовувати для автоматизації завдань у таких сценаріях:

Синтаксис

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

* * * * / шлях / до / сценарію.ш

Кожне з полів відповідає наступному:

Хвилина (0-59) Година (0-24) День_місяця (1-7) Місяць_Року (1-12)
Команда Day_of_the_Week (0-6)

Встановлення Cron

Cron поставляється з попередньо встановленою версією Debian 10. Однак, якщо він відсутній у вашій системі, виконайте таку команду, щоб встановити його:

$ sudo apt встановити cron

Переглянути crontab

Щоб переглянути файл crontab, використовуйте таку команду:

$ crontab -l

Щоб переглянути файл crontab певного користувача, використовуйте таку команду:

$ sudo crontab -u користувач -l

Редагувати crontab

Щоб відредагувати файл crontab поточного користувача:

$ crontab -e

Щоб відредагувати файл crontab певного користувача:

$ sudo crontab -u користувач

Якщо ви редагуєте файл crontab вперше, вам буде запропоновано вибрати редактор:

Після вибору редактора з’явиться таке вікно.

Наприклад, ви хочете запустити сценарій резервного копіювання з назвою «резервне копіювання.sh ”, що знаходиться в каталозі документів щодня о 02:00. Для цього вам потрібно буде додати наступний рядок у файл crontab:

0 2 * * * / Документи / резервне копіювання.ш

У наведеному вище вікні ви можете додавати свої завдання cron по одному. Закінчивши, збережіть і закрийте файл, після чого всі завдання cron автоматично запустяться із зазначеним інтервалом.

Видаліть crontab

Щоб видалити файл crontab, введіть таку команду в терміналі:

$ crontab -r

Тепер розглянемо ряд прикладів завдань cron на машині Linux.

1. Запустіть задачу cron щохвилини

Щоб виконувати завдання cron щохвилини, додайте наступний рядок у файл crontab:

* * * * * / шлях / до / сценарію.ш

2. Запустіть завдання cron через кожні 10 хвилин

Щоб запланувати виконання завдання cron через кожні 10 хвилин, додайте наступний рядок у файл crontab.

* / 10 * * * * / шлях / до / сценарію.ш

3. Запустіть роботу cron у певні місяці

Планувати виконання завдання cron на конкретні місяці e.g. Березень, серпень, грудень, додайте завдання cron у свій файл crontab таким чином:

* * * січень, травень, серп * / шлях / до / сценарію.ш

4. Запустіть завдання cron у вибрані дні

Якщо ви хочете, щоб вашу роботу cron виконували у вибрані дні, припустимо, неділя та п’ятниця о 17:00, це має виглядати наступним чином.

0 17 * * сонце, пт / шлях / до / сценарію.ш

5. Виконуйте роботу cron щодня в певний час

Щоб запланувати виконання завдання cron щодня у визначений час, скажімо, о 3 ранку, додайте цей рядок у свій файл crontab.

0 3 * * * / шлях / до / сценарію.ш

6. Запустіть роботу cron у визначений день

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

0 0 * * НД / шлях / до / сценарію.ш

Робота триватиме о 00:00 щонеділі.

7. Запускайте кілька завдань в одному завданні cron

Щоб запланувати кілька завдань в одному завданні cron, додайте всі сценарії у файл crontab, відокремивши їх крапкою з комою.

* * * * * / шлях / до / script1.ш; / шлях / до / script2.ш

8. Запустіть роботу cron кожен будній день

Щоб запланувати виконання завдання cron на кожен день тижня, тобто з понеділка по п’ятницю, вам потрібно буде додати цей рядок у файл crontab.

0 0 * * 1-5 / шлях / до / сценарію.ш

Робота триватиме о 00:00 кожного буднього дня.

9. Виконуйте роботу cron двічі на день

Планувати роботу, яку потрібно виконувати два рази на день e.g. о 6 ранку та 15 вечора, вам потрібно буде додати цей рядок у ваш файл crontab:

0 6,15 * * * / шлях / до / сценарію.ш

10. Запустіть завдання cron щогодини

Щоб запланувати виконання завдання cron щогодини на хвилину 0, вам потрібно буде додати цей рядок у файл crontab:

0 * * * * / шлях / до / сценарію.ш

Наприклад, якщо поточний час - 14:00, робота буде виконуватися о 15:00, 16:00 тощо.

11. Запустіть завдання cron через кожні 3 години

Щоб запланувати виконання завдання cron через кожні 3 години на хвилину 0, вам потрібно буде додати цей рядок у файл crontab:

0 * / 3 * * * / шлях / до / сценарію.ш

Наприклад, якщо поточний час - 14:00, робота виконуватиметься о 17:00, 20:00 тощо.

12. Запустіть роботу cron о 16:00 першого числа кожного місяця

Щоб запланувати роботу, яка запускатиметься першого числа кожного місяця о 16:00, вам потрібно буде додати цей рядок у файл crontab:

0 16 1 * * / шлях / до / сценарію.ш

Струни в Crontab

Ви також можете використовувати наступні рядки, а не довгі повторювані команди.

@ погодинно - виконувати завдання cron щогодини i.e. "0 * * * *"
@ опівночі - запускати роботу cron щодня i.e. "0 0 * * *"
@ щодня - те саме, що опівночі
@ щотижня - виконувати завдання cron щотижня, тобто.e. "0 0 * * 0"
@ щомісяця - запускати завдання cron щомісяця i.e. "0 0 1 * *"
@ щорічно - запускати роботу cron щороку i.e. "0 0 1 1 *"
@ щорічно - те саме, що і @ щорічно
@ reboot - Запустіть завдання cron при кожному завантаженні

Наприклад, щоб запускати завдання cron щодня в першу хвилину та першу годину, додайте такий рядок:

@daily / шлях / до / сценарію.ш

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

@reboot / path / to / script.ш

Це все! У цій статті ми дізналися, як автоматизувати різні завдання за допомогою crontab в системі Debian. Використовуючи наведені вище приклади, ви можете запланувати будь-яку роботу, яку потрібно ініціювати, без взаємодії з користувачем.

Корисні інструменти для геймерів Linux
Якщо ви любите грати в ігри на Linux, швидше за все, ви, можливо, використовували додатки та утиліти, такі як Wine, Lutris та OBS Studio, щоб покращит...
HD Remastered Games для Linux, які раніше ніколи не випускали Linux
Багато розробників і видавців ігор випускають HD-ремастер старих ігор, щоб продовжити життя франшизи. Будь ласка, шанувальники просять сумісність із с...
Як використовувати AutoKey для автоматизації ігор Linux
AutoKey - це утиліта автоматизації робочого столу для Linux та X11, запрограмована на Python 3, GTK та Qt. Використовуючи його сценарії та функціональ...