mcoelho
(usa Outra)
Enviado em 08/05/2008 - 14:44h
Gente,
sou iniciante no linux e estou tendo problemas com o agendamento no cron. Meu script de backup funciona normalmente quando executado na mão. Mas quando executo via cron gera os arquivos mas com tamanhos menores e o zip final com 1K.
Já procurei ver o log mas ele não fala nada só mostra quando start o cron. O arquivo tb que gero com a execução tb não mostra nada além dos echos que coloco. Já não sei mais o que fazer :(.
To colocando aqui o script e o cron.
CRON
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/
LOGNAME=root
54 11 * * * root /home/backup.sh 2>&1 >> /home/script_output.log
SCRIPT
#!/bin/bash
############
TAR=/bin/tar
ECHO=/bin/echo
LS=/bin/ls
DATE=/bin/date
DIR=/bin/dir
BASENAME=/usr/bin/basename
SVNADMIN=/usr/bin/svnadmin
GREP=/bin/grep
###########
###########################################
# Variaveis do script
###########################################
SVN_ROOT_REPOS="/home/repositorios" #Local onde estao os repositorios do svn
BACKUP_PATH="/tmp/backup" #Local onde ficarao os arquivos de backup
BACKUP_DATE=`$DATE +%Y%m%d` #Data do backup.
clear
$ECHO "Criar o ambiente de backup..."
#mkdir $BACKUP_PATH
cd $BACKUP_PATH
#echo "Parar o servidor web..."
#sudo /etc/init.d/apache2 stop
#Comecar dump dos repositorios
$ECHO "Efetuando DUMP dos Repositorios...";
#http://vivaolinux.com.br/scripts/verFonte.php?codigo=2777&arquivo=backup_subversion.sh
#lista o diretorio dos repositorios
for files in `$LS $SVN_ROOT_REPOS`; do
#lista somente os diretorios
for dir in `$LS -o $SVN_ROOT_REPOS | $GREP ^d`; do
#compara os nomes para pegar apenas o nome do repositorio
if [ `$BASENAME $dir` == "$files" ]; then
#exclui o diretorio .
if [ "$dir" != "./" ] ; then
if [ "$dir" != "$REPO_DIR" ]; then
REPOSITORIO=`$BASENAME "$dir"`;
$ECHO "Repositorio: $REPOSITORIO";
$SVNADMIN dump $SVN_ROOT_REPOS/$REPOSITORIO > $BACKUP_PATH/"$REPOSITORIO"_"$BACKUP_DATE".dump
$ECHO "--"
break;
fi
fi
fi
done
done
$ECHO "DUMP Concluido...";
#Compactar os dumps.
$ECHO "Compactando os arquivos de dump dos repositorios...";
$TAR -P -cvf subversion_bkp_$BACKUP_DATE.tar $BACKUP_PATH/*.dump;
#Excluir os dumps uma vez que eu j� os compactei. Sugest�o do Leonardo.
echo "Apagar os arquivos de dump, apos compacta-los.";
#rm *.dump
#if [ $BACKUP_PATH -ne 0 ]; then
# echo "Falha no script de backup";sleep 1
# exit 1
#fi
echo "Arquivos de bakup criados em:" $BACKUP_PATH;
#echo "Iniciar o servidor web."
#sudo /etc/init.d/apache2 start
exit 0;