Re: [OT] Script roda via comando mas não pelo cron
Dando alguns palpites aleatórios...
Em 03/04/07, Leonardo Rosa<leo.info.deb@gmail.com> escreveu:
Olá a todos...
Sei que não é nada voltado em específico para debian, mas se alguém puder
ajudar...
[...]
Criei um arquivo de nome backup_diario, que está dentro da pasta root e
possui as seguintes linhas:
Sempre q vc vai fazer backup é interessante parar o serviço que está
'backupeando' p/ que vc não corra o risco de backup ficar
inconsistente0
echo
echo Copiando arquivos de /var/www/moodle/ para /media/sdb1/var/www/
cp -ap /var/www/moodle/ /media/sdb1/var/www/
echo
echo Arquivos copiados com sucesso
Aqui não está dando uma resposta precisa - isso é um dos grandes
problemas da computação hj em dia - mensagens inúteis, que dizem algo
mas fazem outra coisa. No caso do cp, tirei isso da infopage:
An exit status of zero indicates success, and a nonzero value
indicates failure.
Então o correto seria fazer algo como:
cp pasta1 pasta2 && echo copiado com sucesso
Mais correto ainda (essa foi boa hein hehe), seguindo os principios
unix, seria não falar nada exceto se houvesse algo p/ falar (um erro):
cp pasta1 pasta2 || echo problemas com backup
De quebra, isso já ajuda vc a saber se o backup foi completado com sucesso!
No caso, se vc não tem um programa tipo logcheck E alguém que lê os
e-mails dele, seria interessante mandar um e-mail também, p/ não ter
desculpa:
cp pasta1 pasta2 || (echo problemas com backup; comando_que_manda_e-mail; ...)
echo
echo Copiando arquivos de /var/www/moodledata/ para /media/sdb1/var/www/
cp -ap /var/www/moodledata/ /media/sdb1/var/www/
echo
echo Arquivos copiados com sucesso
echo
Aqui vale a mesma coisa...
Parei o crontab e adicionei uma linha apontando para o script e ficou da
seguinte forma:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file.
# This file also has a username field, that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report
/etc/cron.daily
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report
/etc/cron.weekly
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report
/etc/cron.monthly
20 9 * * * root ./root/backup_diario
#
Uma pergunta: p/ fazer o backup do moodle precisa ser o root??
--
Marcos
Reply to: