Backup de Repositórios Subversion
Publicado por Eduardo Martins 01/08/2007
[ Hits: 6.952 ]
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;
Controlando Fan Nagios no dialog
Criando vários usuários no LDAP a partir de um arquivo
Claro 3g Sony Ericsson md300 script conexao REVISAO 3
Geração de gráfico em shell script
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (0)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (6)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)