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. Використовуючи наведені вище приклади, ви можете запланувати будь-яку роботу, яку потрібно ініціювати, без взаємодії з користувачем.