O backup do Crontab não está funcionando (não está gerando log)

0

Eu quero executar um script todos os dias em uma determinada hora, então vi que poderia usar cron para isso.

Após o tutorial, editei o arquivo crontab assim: crontab -e e adicionei:

26 13 * * * ./home/user/backup.sh && echo "Backup done: $(date +"%Y%m%d%H%M%S")" >> /home/user/log.txt

13:26 foi há 2 minutos, no entanto, em / home / user não há log.txt

O que está errado?

    
por dabadaba 06.04.2014 / 13:28

1 resposta

1

Se você executar no terminal:

./home/user/backup.sh

você provavelmente receberá um erro como:

bash: ./home/user/backup.sh: No such file or directory

Isso porque neste caso não é correto usar esse . (ponto) na frente do caminho para o scipt ( /home/user/backup.sh ). Também certifique-se de que backup.sh seja executável executando:

chmod +x /home/user/backup.sh

E também, certifique-se de que você chage user com seu nome de usuário em todos os lugares.

E, finalmente, certifique-se de que o status de saída do script /home/user/backup.sh seja 0. Se o status de saída for diferente de 0, o segundo comando ( echo "Backup done: $(date +"\%Y\%m\%d\%H\%M\%S")" - onde você tem que escapar todos os caracteres % ) nunca ser executado por causa do && operator .

Como eu disse, você tem que escapar de todos os % (percent) em uma entrada crontab porque tem um significado especial neste caso:

% bl0ck_qu0te%     
por Radu Rădeanu 06.04.2014 / 13:37