Uma rápida visão geral: tenho um script que fará backup diário do meu repositório de código-fonte do SVN em um tarball para esse dia. Eu testei o script e ele funciona muito bem desde que eu o execute como sudo, devido à propriedade do diretório de saída.
Portanto, o problema é que eu quero executar isso diariamente, então coloquei um link para ele no diretório /etc/cron.daily. Aqui está o conteúdo do diretório
thom@spenser:/etc/cron.daily$ ls -l
total 60
-rwxr-xr-x 1 root root 189 2011-09-14 02:21 apport
-rwxr-xr-x 1 root root 15535 2011-10-06 11:30 apt
-rwxr-xr-x 1 root root 314 2011-08-08 16:57 aptitude
lrwxrwxrwx 1 root root 24 2012-02-28 11:05 backup -> /usr/local/bin/backup.sh
-rwxr-xr-x 1 root root 502 2011-06-08 11:48 bsdmainutils
-rwxr-xr-x 1 root root 256 2011-10-06 04:04 dpkg
-rwxr-xr-x 1 root root 372 2011-10-04 16:50 logrotate
-rwxr-xr-x 1 root root 1353 2011-07-27 07:17 man-db
-rwxr-xr-x 1 root root 606 2011-08-17 09:16 mlocate
-rwxr-xr-x 1 root root 249 2011-06-24 05:36 passwd
-rwxr-xr-x 1 root root 2417 2011-07-01 17:25 popularity-contest
-rwxr-xr-x 1 root root 383 2011-09-30 15:09 samba
-rwxr-xr-x 1 root root 3594 2011-09-19 20:07 standard
thom@spenser:/etc/cron.daily$
O problema é que ele simplesmente nunca é executado. Aqui estão as permissões para esse script:
thom@spenser:/etc/cron.daily$ ls -l /usr/local/bin/backup.sh
-rwxr-xr-x 1 root root 260 2012-02-28 11:03 /usr/local/bin/backup.sh
Ideias?
Respostas:
Tentei isso
Achei que o meu arquivo update.ubuntu não apareceu. Também notei que meu arquivo tinha uma extensão (possui um ponto).
Passos para corrigir isso.
run-parts --test /etc/cron.daily
, novamente , desta vez, meu arquivo apareceu!fonte
Pode ser uma das várias coisas:
Caminho de raízes:
src: https://help.ubuntu.com/community/CronHowto
Ou apenas use caminhos completos para cada comando no seu script: em
/bin/ls
vez dels
por exemplo. (which ls
na linha de comando para caminhos).Há um bug estranho sobre pontos no nome do arquivo relatado aqui . Pode estender-se ao arquivo ao qual você está vinculando, embora isso pareça improvável.
Você está salvando a saída do arquivo de backup? Coloque algo assim na primeira linha, para ajudar a determinar se não está funcionando ou está funcionando, mas está falhando em algum momento.
/bin/echo "Attempting to run backup" >> /path-to-home/backup.log
Como alternativa, tente adicionar o script ao arquivo crontab diretamente:
será executado às 15:30 todos os dias se a máquina estiver ligada. use * * * * * durante o teste para executar uma vez por minuto até que funcione.
fonte
Grep seu syslog para mensagens como;
os arquivos precisam ser restritos a (é suficiente) em 644):
fonte