Як би cron обробляв завдання, яке виконує кілька команд.
Як приклад я маю крон роботу, яка виглядає так. Це дуже важко читати.
10 0 * * * firstscript.sh > first.log; secondscript.sh >> second.log; thirdscript.sh >> third.log 2>&1;
Всі три скрипти виконуються одночасно. У моєму середовищі у нас 6 послідовних команд.
Чому б не писати, що ж робочі місця три окремих робочих місця.
10 0 * * * firstscript.sh > first.log;
10 0 * * * secondscript.sh >> second.log;
10 0 * * * thirdscript.sh >> third.log 2>&1;
Я успадкував ці завдання і намагаюся краще зрозуміти, чому це робиться як кілька команд замість 3 окремих завдань.
Перша причина, по якій я можу подумати, що між сценаріями можуть бути залежності. Тому вони повинні працювати в цьому конкретному порядку. Тому
secondscript.sh
залежить відfirestscript.sh
завершення.Друга причина полягає в тому, що ці скрипти / команди є дорогими для виконання і сервер працює краще, коли вони виконуються послідовно. Потенційні блокування файлів і декілька команд, що записуються в один файл, також можуть викликати проблеми.
Якщо перший скрипт виходить з помилкою, виконуються команди, що слідують за ним?
Якщо проблеми є проблемою, чи є спосіб розділити завдання на кілька завдань і як і раніше задовольняти залежності?
Чи є у cron такий об'єкт?