Crontab – это утилита для запуска запланированных задач через регулярные промежутки времени в системах Unix-Linux.
Она позволяет планировать одновременный запуск нескольких заданий cron.
Мы можем запланировать выполнение любой команды оболочки на терминале.
Каждое запланированное задание в crontab отделяется новой строкой.
Мы также можем задать несколько команд или скриптов в одном задании cron, чтобы они выполнялись по очереди.
Как разделить две команды на Linux
Вы можете разделить две или более команд с помощью точки с запятой (;), логических операторов AND (&&) или логического OR (||).
- Как добавить команды Linux в очередь и выполнить их один за другим
- Основы скриптов Bash, часть первая
Какой из этих операторов мы используем, полностью зависит от требований.
Ниже приведено основное понимание использования этих операторов.
Точка с запятой (;): используется для разделения нескольких команд.
При этом выполняются все команды без проверки состояния выхода предыдущих команд.
command_1; command_2; command_n
Логический оператор AND(&&): используется для разделения команд, когда мы хотим выполнить следующую команду только в том случае, если предыдущая команда была успешно выполнена со статусом выхода 0.
command_1 && command_2 && command_n
Логический опереатор OR (||): используется для разделения команд, когда мы хотим выполнить следующую команду только в том случае, если предыдущая команда завершилась неудачей со статусом выхода не 0.
command_1 || command_2 || command_n
Как запланировать задание Cron
Сначала переключитесь на пользователя, от которого вы хотите запустить задание cron.
Затем откройте редактор crontab, выполнив следующую команду.
crontab -e
Затем мы добавляем запись задания cron в файл, как показано ниже:
Выполнение нескольких команд в одном задании Cron
Давайте обсудим реальные примеры запуска нескольких команд с помощью crontab с различными-2 разделителями.
Использование точки с запятой (;)
С помощью точки с запятой можно разделить две или более команд, которые не требуют проверки статуса выхода предыдущей команды.
Например, вам нужно изменить разрешение всех файлов на 755, но необходимо установить 777 для каталога логов.
0 2 * * * chmod –R 755 /var/www/myapp; chmod –R 777 /var/www/myapp/logs
|
Использование логического оператора AND (&&)
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.
Также были рассмотрены различные варианты разделения команд.
В статье приведены основные сведения о каждом разделителе, который используется для разделения команд.