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

Содержание
Crontab - это утилита для запуска запланированных задач через регулярные промежутки времени в системах Unix-Linux. Она позволяет планировать одновременный запуск нескольких заданий cron.
Мы можем запланировать выполнение любой команды оболочки или сценария в терминале. Каждое запланированное задание в crontab отделяется новой строкой.
Мы также можем задать несколько команд или скриптов в одном задании cron, чтобы они выполнялись по очереди.
Как разделить две команды в Linux
Вы можете разделить две или более команды с помощью точки с запятой (;), логических операторов AND (&&) или логического OR (||). Какой из этих операторов использовать, полностью зависит от требований. Вот основное понимание использования этих операторов.
Точка с запятой (;): используется для разделения нескольких команд. При этом выполняются все команды без проверки состояния выхода предыдущих команд.
command_1; command_2; command_n
Логическое И (&&): используется для разделения команд, когда мы хотим выполнить следующую команду только в том случае, если предыдущая команда была успешно выполнена со статусом выхода 0.
command_1 && command_2 && command_n
Логическое ИЛИ (||): используется для разделения команд, когда мы хотим выполнить следующую команду только в том случае, если предыдущая команда завершилась неудачей со статусом выхода не 0.
command_1 || command_2 || command_n
Как запланировать задание Cron
Сначала переключитесь на пользователя, от которого вы хотите запустить задание cron. Затем откройте редактор crontab, выполнив следующую команду.
crontab -e
Затем вы добавляете запись задания cron в файл, как показано ниже:

Выполнение нескольких команд в одном задании Cron
Использование точки с запятой (;)
Мы можем разделить точкой с запятой две или более команды, которые не требуют проверки статуса выхода предыдущей команды. Например, вам нужно изменить разрешение всех файлов на 777, но необходимо установить 777 для каталога журналов.
0 2 * * * chmod -R 755 /var/www/myapp; chmod -R 777 /var/www/myapp/logs

Использование логического AND (&&)
Используйте этот оператор, если вы хотите запустить следующую команду только при успешном выполнении предыдущей (статус выхода 0). Например, вы хотите запустить backup.sh после успешного перехода в каталог /backup.
0 2 * * * cd /backup && bash backup.sh

Использование логического OR (||)
Используйте оператор логического ИЛИ (||), когда вы хотите выполнить следующую команду только в том случае, если предыдущая завершилась неудачно (статус выхода не 0). Например, вы хотите вывести сообщение или отправить электронное письмо, если файл резервной копии не найден.
0 2 * * * [ -f /backup/mydb-`date +%F`.sql ] || echo "Today's backup file not found"

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