Por que o cron job não disparou no Ubuntu 12.04?

0

Aqui está o script sqlite_backup.sh em $ HOME /:

#! /bin/bash
now=$(date +%d)
echo "Welcome to Sqlite backup script"
sqlite3 /var/www/db/nbhydb.sqlite3 << EOF
.timeout 20000
.backup $HOME/nbhydb_backup_$now.sqlite3
EOF
echo "End of the script"

O script é testado digitando $HOME/sqlite_backup.sh e há um arquivo de backup criado sob $ HOME. Aqui está o cron job (crontab -e):

# m h  dom mon dow   command
5 * * * * $HOME/sqlite_backup.sh

Aqui está o log do cron em / var / log / syslog:

Feb  3 13:05:01 ibm-testbox CRON[8961]: (root) CMD ($HOME/sqlite_backup.sh)

O comando está agendado para ser executado no 5º minuto de cada hora. No entanto, não há arquivo de backup gerado pela tarefa cron. O que sentimos falta? Obrigado.

ATUALIZAÇÃO:

o cron job é modificado para salvar o erro de execução:

5 * * * * $HOME/sqlite_backup.sh > $HOME/backup.log 2>&1

Após a execução, o log é:

Welcome to Sqlite backup script
End of the script

Não há erro algum no log. No entanto, ainda não há nbhydb_3_backup.sqlite3 encontrado.

    
por user938363 03.02.2014 / 18:58

1 resposta

1

O problema é que $HOME variable não está definida no script. Depois de substituir HOME por caminho absoluto, o script funciona como deveria.

    
por user938363 04.02.2014 / 05:47