Como o cron lidaria com um trabalho que executa vários comandos?
Por exemplo, eu tenho um cron job que se parece com isso. Que fica muito difícil de ler.
10 0 * * * firstscript.sh > first.log; secondscript.sh >> second.log; thirdscript.sh >> third.log 2>&1;
Todos os três scripts são executados ao mesmo tempo. No meu ambiente, temos 6 comandos executados em sequência.
Por que não escrever os mesmos trabalhos em três trabalhos separados?
10 0 * * * firstscript.sh > first.log;
10 0 * * * secondscript.sh >> second.log;
10 0 * * * thirdscript.sh >> third.log 2>&1;
Eu herdei esses trabalhos e estou tentando entender melhor por que fazê-lo como vários comandos em vez de 3 trabalhos separados.
A primeira razão pela qual posso pensar que pode haver dependências entre os scripts. Então eles têm que executar nessa ordem específica. assim
secondscript.sh
depende defirestscript.sh
completando.A segunda razão é que esses scripts / comandos são caros para serem executados e o servidor funciona melhor quando são executados sequencialmente. Bloqueios de arquivos em potencial e vários comandos gravados no mesmo arquivo também podem causar problemas.
Se o primeiro script sair com erro, os comandos que o seguem são executados?
Se dependências são um problema, existe uma maneira de dividir o trabalho em vários trabalhos e ainda satisfazer as dependências?
O cron tem uma facilidade assim?
fonte