tarefas cron com o mesmo tempo de execução

8

Suponha que eu tenha várias tarefas cron configuradas para serem executadas ao mesmo tempo: elas são executadas em paralelo ou apenas uma após a outra?

(Meu caso é o Debian squeeze com o cronjobs colocado dentro de /etc/cron.d/mycronjobs).

    
por Gabriele 03.05.2012 / 11:49

4 respostas

7

Para conclusão, trabalhos em, e. /etc/cron.{hourly,daily,weekly,monthly} são executados sequencialmente. O script run-parts faz um loop sobre todos os arquivos neste diretório.

02 4 * * * root run-parts /etc/cron.daily

Assim, você pode usar isso em combinação com uma convenção de nomenclatura (semelhante à numeração em /etc/init.d/rc*.d , por exemplo) para garantir que as tarefas sejam executadas sequencialmente.

    
por 03.05.2012 / 12:32
5

As tarefas listadas no cron serão executadas em paralelo, assim como os processos normalmente. Não há como ter certeza de qual vai começar primeiro, e não há como garantir que a tarefa A esteja completa antes que a tarefa B seja iniciada.

    
por 03.05.2012 / 12:07
2

Cron é um daemon (serviço) que é executado continuamente; no entanto, lê crontabs uma vez por minuto.

A seqüência exata em que os trabalhos são executados dependerá da implementação do crond de seus sistemas.

Os arquivos soltos que algumas distribuições colocam dentro de /etc/cron.d/ são verificados quanto às configurações do cron timer, uma vez que esses arquivos seguem a sintaxe normal do crontab (5).

Em que ordem as tarefas individuais são executadas depende da programação que você definiu para elas, obviamente.

    
por 03.05.2012 / 11:58
2

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
    
por 07.05.2012 / 21:09