Como validar a sintaxe no cron job [closed]

2

Estamos criando um novo trabalho cron em /etc/cron.d .

Esta tarefa do cron tem cerca de 56 linhas e todos os comandos devem ser executados no início de cada mês.

Estou procurando sugestões para validar a sintaxe do cron job.

Quero dizer, como posso verificar se o arquivo de trabalho cron está configurado corretamente sem erros - existe algum comando que possa verificar isso?

    
por yael 29.08.2018 / 16:48

1 resposta

1

Aqui está um começo para um validador, escrito em awk, que verifica:

  • para linhas não comentadas
  • para linhas com campos suficientes para se parecer com uma entrada crontab
  • em que o valor do dia do mês em $ 3 não é 1 ou *
  • em que o valor do mês não é *

... depois imprima a linha (ofensiva).

Em uma entrada de amostra de:

53 23 * * * root /usr/lib64/sa/sa2 -A
53 23 1 * * root /usr/lib64/sa/sa2 -A
53 23 2 * * root /usr/lib64/sa/sa2 -A

A saída é:

53 23 2 * * root /usr/lib64/sa/sa2 -A

Isso teria que ser aprimorado para lidar com nomes e intervalos de meses (ou mesmo @monthly ), como a sintaxe do cron permite.

awk '!/^#/ && NF >= 7 && ($3 != 1 && $3 != "*") && $4 != "*" 1'
    
por 29.08.2018 / 17:28