Respostas:
Para completar, os trabalhos em, por exemplo, /etc/cron.{hourly,daily,weekly,monthly}, são executados sequencialmente. O script de partes de execução faz um loop em todos os arquivos neste diretório.
02 4 * * * root run-parts /etc/cron.daily
Portanto, você pode usá-lo em combinação com uma convenção de nomenclatura (semelhante à numeração, /etc/init.d/rc*.d
por exemplo) para garantir que os trabalhos sejam executados sequencialmente.
0 * * * *
você postou anteriormente), assim como outras postaram, não há garantia na ordem em que serão executadas. Elas podem ser executadas paralelamente em um sistema com vários núcleos, AFAIK a ordem em que são executados pode até ser diferente a cada dia. A convenção de nomenclatura que mencionei em combinação com partes de execução ou o uso de um script mestre que chama os scripts de backup reais é a única maneira de garantir que os scripts sejam executados em uma ordem específica.
As tarefas listadas no cron serão executadas em paralelo, exatamente como os processos. Não há como ter certeza de qual será iniciado primeiro e no cron para garantir que a tarefa A seja concluída antes do início da tarefa B.
Cron é um daemon (serviço) que é executado continuamente; no entanto, ele lê crontabs uma vez por minuto.
A sequência exata em que os trabalhos são executados dependerá da implementação da situação de seus sistemas.
Os arquivos soltos que algumas distribuições colocam dentro do /etc/cron.d/ são verificados quanto às configurações do cron timer, pois esses arquivos seguem a sintaxe normal do crontab (5).
A ordem em que os trabalhos individuais são executados depende da programação que você definiu para eles, obviamente.
Eles serão executados em paralelo. Você pode usar os seguintes métodos para executar os processos sequencialmente.
# Use a semicolon to run command2 after command1 has completed
02 4 * * * /path/to/command1 ; /path/to/command2
# Use two ampersands to run command2 after command1 has completed successfully.
02 4 * * * /path/to/command1 && /path/to/command2
# Use two vertical rules to run command2 after command1 has completed unsuccessfully.
02 4 * * * /path/to/command1 || /path/to/command2