Backup de Repositórios Subversion
Publicado por Eduardo Martins 01/08/2007
[ Hits: 6.871 ]
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;
script para travar usuario discado
Bloquear o DHCP de dispositivos móveis
Script para limpar os caches do proxy (squid)
Intervalo de tempo v.2 - Corrigido
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Jogando com Proton no LInux (2)
Linux Mint limitando rede a 20Mbps (6)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)