Backup de Repositórios Subversion
Publicado por Eduardo Martins 01/08/2007
[ Hits: 6.775 ]
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;
Monitoração e coleta de dados de performance de servidores GNU/Linux
Instala o Stardict Dicionario!
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta