No crontab, posso especificar um número de dias antes do final do mês?

1

Eu quero criar um script que gere um relatório semanal todo sábado à noite às 23h e outro script que gere um relatório mensal no dia 1º de cada mês.
Não quero que o relatório semanal seja executado se o sábado cair dentro de três dias após o primeiro dia do mês.

aqui é uma vez por mês:

0 23 1 * * /home/me/monthly.sh

aqui é o mais próximo da entrada semanal que eu posso descobrir ...

0 23 4-? * 6 /home/me/weekly.sh

Posso substituir esse ponto de interrogação por algo que significa "3 dias antes do final do mês"? Ou existe alguma outra abordagem que atenda ao meu propósito?

Ser capaz de especificar um número de dias antes do final do mês parece um recurso que você gostaria de ter em um agendador de tarefas, então ficarei um pouco surpreso se o crontab não puder fazê-lo.

Minha alternativa seria verificar a data em weekly.sh e parar se eu estiver dentro de 3 dias do primeiro dia.

    
por zambo 04.01.2017 / 08:25

1 resposta

0

0 23 * * 6 [ $(date +%e -d "next saturday") -gt 3 ] && /home/me/weekly.sh
    
por 04.01.2017 / 08:31

Tags