out
2
Este será um artigo bem curto, não vou discutir qual é a melhor forma de fazer backup do Subversion, apenas vou mostrar como eu faço! Juntamente com o Subversion eu também faço backup da pasta do Trac.
No meu computador todos os projetos do Subversion encontram-se em “/var/lib/svn/” e os projetos do Trac em “/var/lib/trac/”, portanto fica simples fazer o backup, que no meu caso é para minha pendrive.
O script que eu utilizo é:
#!/bin/bash
PENDIR=”/media/MY FILES/”
BKPDIR=$PENDIR”backup/”
BASEDIR=”/var/lib/”
SVNPATH=$BASEDIR”svn/”
TRACPATH=$BASEDIR”trac/”
SVNCMD=”svnadmin -q”
TARCMD=”tar -czPf”
echo -n -e “\n *** Iniciando o procedimento de backup *** \n\n”
for project in projeto1 projeto2 projeto3; do
echo -n -e ” * Copiando subversion do projeto $project para $BKPDIR…”
$SVNCMD dump “$SVNPATH$project” > “$BKPDIR$project”".svndump”
echo -n -e ” OK!\n”
echo -n -e ” * Copiando trac do projeto $project para $BKPDIR…”
$TARCMD “$BKPDIR$project”"-trac.tar.gz” “$TRACPATH$project”
echo -n -e ” OK!\n”
done
echo -n -e “\n *** Finalizando backup *** \n\n”
Ou seja, o procedimento é simplesmente montar a pendrive na USB, e executar este script, caso você tenha algum dispositivo permanente de backup poderá agendar esse script no cron.
Se você está procurando apenas os comandos para backup use
$ svnadmin dump /var/lib/svn/projeto1 > projeto1.svndump
Para backup do Trac eu prefiro fazer do diretório completo, pois já vem com meus plugins e outras personalizações.
$ tar -czPf projeto1-trac.tar.gz /var/lib/trac/projeto1
Restaurando o backup
Para restaurar o backup do Subversion exige-se duas etapas, a primeira é criar o projeto vazio e depois carregar o dump salvo anteriormente.
$ sudo svnadmin create projeto1
$ sudo svnadmin load projeto1 < projeto1.svndump
Para restaurar o Trac basta descompactar o arquivo na pasta do Trac, que no meu caso é “/var/lib/trac/” e após isso seguir os passos de configuração ditos no meu outro artigo “Instalando o Trac e o Subversion em 12 passos no Ubuntu 7.04 (Feisty Fawn)”
Pronto! Seu computador está pronto para o trabalho novamente!