При настройки резервного копирования, запуске автоматических скриптов в операционной системе Linux используется демон планирования cron, который запускает команды в определенное время на регулярной основе с заданной периодичностью.
Содержание
Добавление новых команд в планировщик
Чтобы настроить задание cron, откройте crontab в предпочитаемом текстовом редакторе и введите синтаксис команды, задайте время запуска.
Откроем временный файл с текущими заданиями для пользователя вошедшим в систему при помощи утилиты crontab. Для этого, достаточно указать параметр -e.
crontab -e
ВАЖНО! При добавлении новых задач необходимо соблюдать синтаксис.
Задачи для демона планирования cron настраиваются по синтаксису:
минута час день месяц день_недели /путь/к/исполняемому/файлу
Можно добавить любое количество запланированных задач, в одной в строке.
Когда закончите добавлять задачи, сохраните файл и выйдите. Демон cron прочитает и выполнит предоставленные инструкции.
ВАЖНО! Cron не нужно перезапускать, чтобы изменения вступили в силу.
Как добавить задание для другого пользователя
Чтобы отредактировать планировщик в операционной системе Линукс для другого пользователя, введите команду с параметром -u:
crontab –u other_username –e
Наглядные примеры задач
При указании заданий используйте звездочку, чтобы указать все значения. Ввод значения в одно из полей запускает команду только для этого значения. Например:
* 2 0 * 4 /root/backup.sh
Несмотря на то, что он настроен на 2 часа ночи, он запустится только тогда, когда первое число месяца (0) придется на среду (4). Если вы измените на следующие параметры:
* 2 0 * * /root/backup.sh
Команда запускается первого числа каждого месяца в 2 часа ночи. В следующей таблице представлены несколько основных команд, использующих файл /root/backup.sh из наших предыдущих примеров.
Запустим задание каждые 2 часа.
0 */2 * * * /root/backup.sh
At 0 minutes past the hour, every 3 hours.
Использование специальных символов
Вы можете использовать косую черту, чтобы разделить временную строку на шаги. Это позволит запускать резервное копирование каждые 15 минут: */15 * * * *,
- * - означает все значения;
- 15 – указывает, что процесс следует повторять каждые 15 минут.
Используйте символ дефис, чтобы указать диапазон. Например, что бы запускать код каждый будний день в 4 утра: 0 4 * * 1-5 /root/backup.sh,
- 1 – 5, означает промежуток дней с понедельника по пятницу.
Используйте запятую, чтобы указать отдельные экземпляры, когда должен выполняться код: 0 4 * * 2,4 /root/backup.sh. Такая команда позволит запустить код в 4 утра во вторник и в четверг.
Некоторые подстановочные знаки можно комбинировать. Заставьте команду запускаться через день в 37 минут после часа: 37 1-23/2 * * * /root/backup.sh,
- 1-23указывает диапазон часов;
- /2устанавливает интервал через каждый час.
Список существующих заданий Cron
Можно посмотреть все задания крон в системе, не открывая файл конфигурации crontab.
Введите следующую команду в окне терминала:
crontab –l
Вывод
Теперь вы хорошо понимаете, как использовать cron для планирования задач в Linux. Используйте примеры, представленные в этом руководстве, для создания и планирования заданий cron в вашей системе. Со временем расширяйте задачи, используя специальные символы, чтобы автоматизировать большинство ваших рутинных задач.