Logo Hardware.com.br
ivonei
ivonei Membro Senior Registrado
375 Mensagens 0 Curtidas

Agendar backup no crontab não está dando certo.

#1 Por ivonei 07/01/2005 - 14:27
Olá

Estou tentando fazer um backup diario usando o crontab.
Então coloquei o executavel Copia.sh no diretório /etc/cron.daily, com o seguinte conteudo:
#!/bin/sh
i=$(date +%a)
zip -r /home/copia$i.zip /etc/teste/*

Se eu executo manualmente o Copia.sh, o backup sai perfeito e cria o arquivo /home/copiaSex.zip. Mas se o backup for feito pelo crontab, é criado um arquivo de nome "zi9grilX" e o tamanho é menor do que o backup correto. Parece que é criado um arquivo temporario enquanto processa a compactação, para depois mostrar o arquivo final, mas o crontab se perde e não consegue finalizar a tarefa.
Alguém sabe o que está errado?

[]'s
jqueiroz
jqueiroz Cyber Highlander Registrado
104K Mensagens 5.7K Curtidas
#2 Por jqueiroz
07/01/2005 - 15:54
confirme com que usuário o crond executa os scripts no /etc/cron.daily, isso está parecendo erro de permissão no diretório.

Talvez seja mais fácil ao invés de usar o cron.daily, usar o comando "crontab -e" e acrescentar essa tarefa para ser executada diariamente, numa hora que vc escolha. Assim:

0 3 * * 0-6 /usr/local/bin/Copia.sh

Para o script "Copia.sh" do diretório "/usr/local/bin" (vc deve copiar o script para lá) ser executado todos os dias, todos os meses, de segunda a sexta, sempre às 3h00 da manhã.

As duas diferenças são, primeiro, que assim vc pode escolher a hora em que o comando será executado, e segundo, que assim será vc (ou o usuário que vc quiser, especificado como "-u usuário") quem vai executar o comando.
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal