Cronjob como root?

1

Estou tendo um problema com o cronjobs para backups.

Eu configurei o seguinte em sudo crontab -e (não em conta pessoal):

0 1 * * * /backups/dobackup

/backups/dobackup contém isto:

#!/bin/sh
touch ITRAN
tar -cvpjf /backups/$(date +%d.%m.%Y)_backup.tar.bz2  --exclude=/backups --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/dev /

O arquivo de backup é criado, mas o arquivo ITRAN não é. Além disso, o arquivo de backup é muito menor que o esperado:

-rw-r--r--  1 rjrudman root      371620259 2012-06-21 12:39 21.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root     1023211449 2012-06-22 18:00 22.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root        1512785 2012-06-23 01:00 23.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root     1023272455 2012-06-24 22:41 24.06.2012_backup.tar.bz2
-rw-r--r--  1 rjrudman root        1514027 2012-06-25 01:00 25.06.2012_backup.tar.bz2

Os backups com tamanhos de arquivo muito maiores são criados executando manualmente sudo /backups/dobackup . Parece que o cronjob está falhando em algum momento .. mas não tenho idéia de como depurar esse problema ou por onde começar.

Alguma ideia? Executando o Ubuntu 10.04

    
por Rob 25.06.2012 / 01:47

3 respostas

4

Se você quiser descobrir por que está falhando, tente registrar a saída do seu script de backup:

0 1 * * * /backups/dobackup >& /root/dobackup.log
    
por 25.06.2012 / 02:29
2

O ambiente Crontab não é o mesmo ambiente do terminal bash. Você precisa programar comandos para o seperateley do crontab.

    
por 25.06.2012 / 01:54
1

Uma coisa que aprendi é descobrir a que o ambiente cron tem acesso.

Isso pode não ser uma solução, mas pode abrir os olhos para essa questão no futuro.

Faça o cron executar este comando:

* * * * *  set > /temp/text/file

Dê uma olhada e compare-a com a de um shell bash normal.

Muito diferente e causará problemas invisíveis

    
por 25.06.2012 / 02:46