Como executar vários scripts ao mesmo tempo?

3

Suponha que eu queira executar cinco scripts diferentes às 3 da tarde todos os sábados e eu quero colocar todos esses scripts em um único script e executá-lo usando cron .

    
por Debasish 02.06.2016 / 12:43

2 respostas

6

Você pode fazer isso de várias maneiras:

Entrada de cron único

0 15 * * 6 job1; job2; job3

Observe que usar ponto e vírgula significa que job2 (e job3) são executados, independentemente de os jobs anteriores terem sido bem-sucedidos (RC = 0) ou não. Use && entre eles se você quiser mudar isso.

Várias entradas do cron

0 15 * * 6 job1
0 15 * * 6 job2
0 15 * * 6 job3

Ou, como você pergunta, combine-os em

um script e uma entrada no cron:

#!/bin/sh
job1
job2
job3

Cron:
    0 15 * * 6 /path/to/above/wrapper-script.sh

A mesma nota acima aplica-se aqui; job2 e job3 são executados em sequência; altere para job1 && job2 && job3 (ou alguma combinação) conforme desejado.

Veja: Quais são os operadores de controle e redirecionamento do shell? para saber mais sobre && e || .

    
por 02.06.2016 / 13:29
0

Aqui está uma explicação do formato crontab.

# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x

Então, de acordo com isso, seu 0 15 * * 6 funcionaria às 15:00 todos os sábados.

    
por 02.06.2016 / 12:51