Sunteți pe pagina 1din 2

#!

/bin/sh
# Data: 09/05/2009
# Desenvolvido por Gilmar Pupo: http://gilmar.eti.br
# Versao 0.1
# Finalidade deste script:
# Este script conecta a uma pasta compartilhada de uma maquina windows em rede,
# Cria uma pasta cujo o nome e a data atual,
# Le os repositorios SVN e faz o backup individual, para a pasta destino,
# compactando o arquivo dump
#
# Criei este script para CENTOS, FEDORA, REDHAT, ok?
# Que tal melhora-lo?
# Abra�os,
# Gilmar
#
#
# Siga-me no twitter: @gpupo
#
#
# Referencias: http://beyondclick.wordpress.com/2007/08/06/backup-dos-
repositorios-do-subversion/
#
#

##########################################

# Configure:

SVN_ROOT_REPOS="/svn/" #Local onde estao os repositorios do svn


REDE_WINDOWS_USUARIO="u1" #Usuario do computador WINDOWS
REDE_WINDOWS_SENHA="984j8d79s" #Senha do computador WINDOWS
REDE_WINDOWS_IP="192.168.254.100" #IP do computador WINDOWS
REDE_WINDOWS_PASTA="backupUSB" #Nome da pasta no computador WINDOWS.
#Se for uma pasta dentro de
compartilhamento, usar "pasta/subpasta"

##########################################
BACKUP_DATE=`date +%Y%m%d`
MONTAGEM="/mnt/${REDE_WINDOWS_PASTA}"
DESTINO="${MONTAGEM}/svn_${BACKUP_DATE}"

mkdir -p ${MONTAGEM}

#montando a pasta Windows:


echo "Montar ${MONTAGEM}..."
mount //${REDE_WINDOWS_IP}/${REDE_WINDOWS_PASTA} ${MONTAGEM} -o
umask=0,locale=pt_BR.iso88591,username=${REDE_WINDOWS_USUARIO},password=${REDE_WIN
DOWS_SENHA}

mkdir -p ${DESTINO}

echo "Parar o servidor web..."


service httpd stop

#Comecar dump dos repositorios


echo "Efetuando DUMP dos Repositorios...";

#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} > bzip2 >
"${DESTINO}/${REPOSITORIO}.dump.bz2"
echo "--"
break;
fi
fi
fi
done
done

echo "DUMP Concluido...";

if [ ${DESTINO} -ne 0 ]; then


echo "[ERRO] Falha no script de backup";sleep 1
exit 1
fi
echo "Arquivos de backup criados em: $DESTINO"

echo "Iniciar o servidor web."


service httpd start

exit 0;

umount ${MONTAGEM};

S-ar putea să vă placă și