Выполнение задач вручную утомительно и в некоторых случаях неприменимо. Однако утилита cron позволяет пользователю планировать различные задания в разное время. Вы можете запланировать свой сервер для еженедельного создания резервной копии или любой другой задачи, которую вы считаете необходимой. Существует лучший способ запуска нескольких команд в одном задании cron. Вы можете запланировать все задачи в одном задании cron. Хотите научиться это делать? Читай дальше что бы узнать.
Когда вы хотите запланировать задание, вы начинаете с определения даты и времени, а затем команды или сценария для запуска. Таким образом, когда запланированное время наступит, задание будет выполнено автоматически.
У каждого пользователя есть файл crontab, и вы можете создать задание cron с помощью команды crontab -e. В этом руководстве мы создадим три задания 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.
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.