Se cometermos um erro na entrada crontab, o que acontecerá então

3

Se eu cometi um erro na entrada crontab , como a emissão do comando inexistente coppy em vez de cp , o que acontece na execução da tarefa?

    
por Kimiya Haqnegahdar 09.11.2016 / 10:32

1 resposta

3

Primeiro, observe que cada trabalho cron é executado em um shell ( sh , ou seja, dash por padrão, alterável por meio da variável de ambiente SHELL dentro de crontab ). Dois casos:

  • MAILTO variável de ambiente definida: Será enviada uma mensagem para o (s) endereço (s) mencionado (s) com o erro (STDERR) (e também STDOUT, se houver), como se você foi executado no shell (usado)

  • A variável de ambiente
  • MAILTO é nula: Nada, a mensagem de erro será descartada como nenhum consumidor disponível

  • A variável de ambiente
  • MAILTO não está definida: O STDERR (e o STDOUT, se houver) serão enviados para a caixa de correio do usuário local

Em todos os casos, /var/log/syslog terá a mensagem de erro relevante.

Observe que as pessoas costumam usar redirecionamentos de shell para salvar o STDOUT / STDERR em um arquivo, por exemplo:

* * * * * your_command >/tmp/cron_msg 2>&1

Ou se MAILTO estiver definido, para não ter o STDOUT / STDERR no email, pois a intenção principal é executar o comando, se for, é uma tendência comum enviar para /dev/null também:

* * * * * your_command >/dev/null 2>&1
    
por heemayl 09.11.2016 / 10:37