Backup de Repositórios Subversion
Publicado por Eduardo Martins 01/08/2007
[ Hits: 7.000 ]
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;
Reconexão automática para internet ADSL
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)