Backup de Repositórios Subversion
Publicado por Eduardo Martins 01/08/2007
[ Hits: 7.213 ]
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;
Troca de link em caso de queda de Internet (FAILOVER)
Script FIREWALL IPTABLES com 3 (três) interfaces (Int, Ext e DMZ)
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - LÊ O BANCO E EXIBE OS DADOS
Backup de arquivos do Linux para um servidor FTP
Backup copiando para ftp durante 7 dias
Nenhum comentário foi encontrado.
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









