Comportamento de execução do cron

1

Eu quero agendar um cron para evitar a execução à meia-noite. Eu estava pensando em um período de 7 minutos.

Agora, descobri que com 7 minutos de intervalo, o último cronograma para um determinado dia seria às 23:55 da noite.

Então, aqui está a minha pergunta, o cron será rolado e iniciar sua execução novamente às 00:07 do dia seguinte, ou continuará seu período existente e será executado às 00:02?

Estamos usando Red Hat Enterprise Linux Server release 5.3 (Tikanga) .

Aqui está minha configuração do cron

*/7 * * * * sh /home/dragon/work/pling.sh | tee /home/dragon/work/pling_'date +"\%Y\%m\%d_\%H\%M\%S"'.log
    
por divinedragon 20.01.2014 / 18:05

1 resposta

1

O uso de um asterisco indica todo o intervalo de valores válidos, neste caso 0-59. * / 7 está dizendo ao cron "Corra para cada minuto entre 0 e 59, com passos de 7". Isso ocorre às 00:00, 00:07, ..., 00:56, 01:00, 01:07, ... Crond é executado a cada minuto e verifica quais entradas correspondem. Ele não se importa com a última vez que correu, e não vai manter um registro (ou seja, rodando às 00:56 e depois novamente às 01:03 ... isso ficaria insano depois de alguns dias)

Para que não seja executado à meia-noite, você pode fazer o seguinte:

# Run from 1AM to 11PM hours, every 7th minute  
*/7 1-23 * * * sh /home/dragon/work/pling.sh | tee /home/dragon/work/pling_'date +"\%Y\%m\%d_\%H\%M\%S"'.log  
# Account for the first hour, don't run at midnight, but every other 7th minute:  
7-59/7 0 * * * sh /home/dragon/work/pling.sh | tee /home/dragon/work/pling_'date +"\%Y\%m\%d_\%H\%M\%S"'.log
    
por 21.01.2014 / 01:07