Backup de Repositórios Subversion
Publicado por Eduardo Martins 01/08/2007
[ Hits: 7.230 ]
Homepage: http://www.emartins.org
Este script efetua o DUMP (backup da base de dados) dos repositórios do subversion e os envia para uma máquina windows com uma pasta compartilhada.
Ele salva o backup em uma pasta para cada dia da semana e cria um arquivo tar.bz2 (também para cada dia da semana).
Você pode modificar o script para, por exemplo, gravar em um CD/DVD, basta modificar as linhas onde o arquivo é copiado para a pasta na rede.
#!/bin/sh
#--------------------------------------------------------------
# Script para executar o dump dos repositorios do subversion
# copia para uma pasta compartilhada na rede
#
# autor: Eduardo Martins <martins.rs@gmail.com>
#--------------------------------------------------------------
# Variaveis de Backup
USERNAME=guest;
PASSWORD=guest;
DESTINO=//10.0.0.1/backup;
PTO_MONTAGEM=/mnt/backup;
#Onde Gravar o Backup
ID_PASTA_BKP=$(date +%u);
PASTA_BKP[1]=2;
PASTA_BKP[2]=3;
PASTA_BKP[3]=4;
PASTA_BKP[4]=5;
PASTA_BKP[5]=6;
HOJE=$(date +%a);
TMP_DIR=/tmp
#Subversion
REPO_DIR=/subversion/repositorios;
DUMP_DIR=/tmp/subversion;
#monta unidade rede
mount -t smbfs -o username=$USERNAME,password=$PASSWORD $DESTINO $PTO_MONTAGEM ;
#apaga os dumps antigos
rm -fr $DUMP_DIR/*.dump;
#comeca os dumps dos repositorios
echo "Efetuando DUMP dos Repositorios";
#lista o diretorio dos repositorios
for files in `ls $REPO_DIR`; do
#lista somente os diretorios
for dir in `ls -o $REPO_DIR | 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 $REPO_DIR/$REPOSITORIO > $DUMP_DIR/$REPOSITORIO.dump;
echo "--"
break;
fi
fi
fi
done
done
echo "DUMP Concluido...";
echo "";
#compacta os dumps
echo "Compactando arquivos...";
tar cfj $TMP_DIR/subversion_bkp_$HOJE.tar.bz2 $DUMP_DIR;
#copia para a maquina windows
echo "Copiando arquivo...";
cp $TMP_DIR/subversion_bkp_$HOJE.tar.bz2 $PTO_MONTAGEM/${PASTA_BKP[$ID_PASTA_BKP]};
echo "Copia Concluida!";
#desmonta unidade rede
umount $PTO_MONTAGEM;
echo "";
#remove os arquivos criados
echo "removendo arquivos temporarios...";
rm -fr $TMP_DIR/subversion_bkp_$HOJE.tar.bz2;
echo "";
echo "Backup Terminado...";
#Desfazer variaveis
unset USERNAME;
unset PASSWORD;
unset DESTINO;
unset PTO_MONTAGEM;
unset ID_PASTA_BKP;
unset PASTA_BKP;
unset HOJE;
unset TMP_DIR;
unset REPO_DIR;
unset DUMP_DIR;
unset REPOSITORIO;
unset files;
unset dir;
Relatório minuto a minuto de todas as conexões do servidor
Levantamento de hardware e software no Mandriva 2006
Firewall com proxy transparente completo
mkzeowmp - zeo mount point para PZP (python, zope e plone)
Nenhum comentário foi encontrado.
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Instalar o Microsoft Teams no Ubuntu e Derivados
Script para configurar o DOOM Retro no Linux
Script para organizar janelas em cascata no KDE Plasma 6 (Wayland)
Erro ao baixar progamas no terminal (2)
Instalador não reconhece SSD Sata. (8)









