Shell-Script para backup automático dos repositórios do Subversion

Fiz um script para backup dos repositórios do Subversion.

Este script está sendo usado no Ubuntu Linux Server versão 6.10 7.04(atualizei o servidor) , mas deve funcionar na maioria das outras distros. Mesmos as que não derivam o Debian.

Para usá-lo siga os seguintes passos:

  1. Copie o script para o servidor;
  2. Configure com os diretórios de sua preferência. Isso é feito modificando as variáveis:
    1. SVN_ROOT_REPOS: diretório onde estão os repositórios do SVN;
    2. BACKUP_PATH: onde será criado os arquivos de backup.
  3. Dê permissão de execução para o scrip:
    1. chmod +x svn_backup.sh

Como melhorias que eu gostaria de adicionar:

  • Leonardo: Apagar os arquivos de dump depois que eles forem compactados. Ok
  • Garantir que somente os arquivos de dump serão gravados no zip. Ok
  • Agendar o script no cron;
  • Copiar o arquivo zipado para outro servidor;
  • Gerar um Hash MD5 para o arquivo de backup e enviar junto do arquivo;
  • Testar o arquivo recebido usando o Hash MD5.

Vocês teriam alguma sugestão? Outra funcionalidade que eu não tenha pensado? Uma forma de fazer as mesmas coisas mais facilmente?

Fontes:

P.S.: Como o WordPress não deixa eu subir arquivos .sh coloquei a extensão “doc”.

UPDATE: Saiu no BR-Linux um post com um script, em Python, para backup do Subversion e Trac.

Anúncios

7 opiniões sobre “Shell-Script para backup automático dos repositórios do Subversion

  1. Excelente. Ainda não testei só li o código mas já estou bem empolgado. Vou testar aqui agora mesmo e já posto o resultado. Caso eu faça alguma alteração ou melhoria posso postar tbm.

  2. Funcionou perfeitamente. Mas eu comentei as linhas 17 e 18:
    17: echo “Fazendo o dump dos repositorios…”
    18: svnadmin dump /home/svn/repos/a2mexpress/ > a2mexpress_”$BACKUP_DATE”.dump

    Essas linhas realmente são necessárias? Pelo que entendi na linha 36 o dump é feito. Porém está dentro do loop que faz o dump de todos os repositórios.

    Se você puder tirar essa minha dúvida. Desde já agradeço.

  3. As linhas 17 e 18 são inúteis mesmo.
    É que eu comecei testando com um repositório. Depois fui procurar um jeito do script buscar todos os repositórios.

  4. Mais uma dúvida. O script gera os .dump de cada repositório e depois compacta. O que importa no final é o arquivo compactado, então eu posso tranquilamente excluir os .dump?
    Pra mim parece muito lógico deletar, achei inclusive uma pergunta meio boba da minha parte, mas como estou iniciando no Subversion agora, estou um tanto receoso ainda.
    Mais uma vez parabenizo pelo excelente script e espero poder contribuir.
    Abraço.

  5. Sim.

    O importante é o arquivo compactado.
    Inclui uma linha, a 49, para apagar os .dump após a compactação.

    Obrigado pela sugestão!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s