ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как запустить несколько команд в одном задании Cron

Почему мой Crontab не работает и как его устранить?

Выполнение задач вручную утомительно и в некоторых случаях неприменимо. Однако утилита cron позволяет пользователю планировать различные задания в разное время. Вы можете запланировать свой сервер для еженедельного создания резервной копии или любой другой задачи, которую вы считаете необходимой. Существует лучший способ запуска нескольких команд в одном задании cron. Вы можете запланировать все задачи в одном задании cron. Хотите научиться это делать? Читай дальше что бы узнать.

 

Работа с файлом Crontab

Когда вы хотите запланировать задание, вы начинаете с определения даты и времени, а затем команды или сценария для запуска. Таким образом, когда запланированное время наступит, задание будет выполнено автоматически.

У каждого пользователя есть файл crontab, и вы можете создать задание cron с помощью команды crontab -e. В этом руководстве мы создадим три задания cron по отдельности, а затем посмотрим, как мы можем объединить их в одно задание cron.

 

Создание заданий Cron

Мы создадим три задания cron. Первый выполняет сценарий резервного копирования. Второй создаст новый файл, а последний переименует созданный файл, если он существует. Мы запланируем запуск задач в разное время, но в один и тот же день, используя приведенные ниже команды.

$ crontab -e

 

Как показано, мы добавили задания cron в конец файла crontab.

0 6 * * * /home/andreyex/backup.sh

10 6 * * * touch /home/andreyex/Desktop/names.sh

12 6 * * * mv /home/andreyex/Desktop/names.sh /home/andreyex/Desktop/renamed.sh

Проблема с этой конфигурацией заключается в том, что она нагружает память вашего процессора при независимом выполнении всех задач, а если вы выполняли интенсивные задания, это может истощить вашу пропускную способность. Решение состоит в том, чтобы запустить все три задачи в одном задании.

 

Как выполнить несколько команд в одном задании Cron

Вы можете использовать два параметра для установки нескольких команд в одном задании cron.

1. Используйте &&: двойной амперсанд указывает, что вторая команда должна выполняться только в том случае, если предыдущая команда выполнена успешно. Например, приведенная ниже команда подразумевает, что в случае успешного выполнения сценария резервного копирования в каталоге /Desktop будет создан новый файл. И после создания он переименует его.

0 6 * * * /home/andreyex/backup.sh && touch /home/andreyex/Desktop/names.sh && [mv /home/andreyex/Desktop/names.sh

 

2. Используйте точку с запятой (;) : точка с запятой указывает, что задания будут выполняться одновременно. Независимо от того, был ли первый запуск успешным или нет, следующий за ним будет работать, поскольку каждый из них независим. В приведенном ниже примере система начнет с запуска сценария резервного копирования. После этого он создаст новый файл и переименует его.

* * /home/andreyex/backup.sh; [touch /home/andreyex/Desktop/names.sh; mv /home/andreyex/Desktop/names.sh /home

 

В зависимости от того, какую задачу или сценарий вы хотите выполнить, любая из вышеперечисленных опций пригодится при использовании нескольких команд с одним заданием cron. Обратите внимание, что задания cron будут выполняться одновременно, одно за другим, в зависимости от выбранного вами варианта. Объединение нескольких команд полезно, когда результат одной команды определяет, как должна выполняться следующая команда.

 

Вывод

В этом руководстве рассказывается, как вы можете использовать несколько команд в одном задании cron. Мы видели, как использовать && или точку с запятой, чтобы настроить задания cron определенным образом. Кроме того, вы можете запланировать выполнение нескольких заданий одновременно или в зависимости от того, были ли те, которые были до этого, успешными. Используя это руководство, вы теперь понимаете, как автоматизировать различные задачи в одном задании cron.

Exit mobile version