O log de tarefas do Cron mostra 'Nenhum MTA instalado', isso impede que o trabalho CRON seja concluído?

8

Eu tenho um cron job que está apenas executando o rsync em um diretório específico.

Quando executo o comando rsync sudo rsync -av --delete /directory1 /directory2 , ele é executado sem problemas e é exatamente o que se pretende.

Quando o trabalho do Cron é executado - eu o vejo em /var/log/syslog.1 e diz isso (resumido):

Mar  12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (root) CMD (rsync --delete /my/directory /backup/directory)
Mar  12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (CRON) info (No MTA installed, discarding output)

Mas os arquivos não estão no diretório de backup (portanto, não estão sendo concluídos).

Essa segunda instrução sobre ' No MTA installed ' impede a conclusão da tarefa cron? Qual é a melhor maneira de concluir essa tarefa do cron e eliminar o erro do MTA?

Eu encontrei esta resposta mas ele não diz se isso impede o trabalho de terminar.

    
por Hanny 13.03.2017 / 15:55

1 resposta

7

Não, isso não impede que o trabalho CRON seja concluído.

Normalmente, você não deve permitir que o trabalho CRON gere a saída sem informar onde gravá-la. Se você fizer isso, como neste caso, o CRON tenta enviá-lo para algum lugar (também especificado no arquivo crontab ). Se não tiver êxito, descarta a saída, como diz o arquivo de log, e continua.

No seu caso, você não tem um "Agente de Transferência de Mensagens" instalado. Este é um nome genérico para pacotes, como postfix e ssmtp , que fornecem um comando mail .

Eu recomendo redirecionar SYSOUT e SYSERR do comando rsync usando > e 2> , respectivamente. Se você não estiver interessado, redirecione a saída para /dev/null .

    
por Jos 13.03.2017 / 15:58