ubuntu - cronjob falhando com o código de saída 2

3

Eu configurei o seguinte crontab -

sudo crontab -e

01 21 * * * /usr/local/bin/sqlbackup.sh -e

Isso deve executar sqlbackup.sh às 21.01 todas as noites, mas nunca é executado. aqui está o log de erros

cron[2339]: (root) RELOAD (crontabs/root)
CRON[31600]: (root) CMD (/usr/local/bin/sqlbackup.sh -e)
CRON[31599]: (CRON) error (grandchild #31600 failed with exit    status 2)
CRON[31599]: (CRON) info (No MTA installed, discarding output)

Eu defini a permissão para 777 e o proprietário é root. Posso executar o arquivo inserindo o caminho do arquivo acima.

    
por Alex 20.05.2011 / 14:06

1 resposta

3

Seu script parece estar saindo com o status 2, que o cron interpreta como um erro.

Ele sai com o status 0 se executado manualmente?

/usr/local/bin/sqlbackup.sh -e
echo $?

Verifique se você não está assumindo coisas sobre o ambiente que não são verdadeiras quando executadas pelo cron. Em particular, use caminhos absolutos ao invocar outros scripts ou binários.

Tente substituir a tarefa cron com sh -x /usr/local/bin/sqlbackup.sh -e - ela deve exibir informações de execução linha por linha (eu nunca tentei isso com o cron).

    
por 20.05.2011 / 14:14

Tags