SVN Backup e restauração de repositórios [Manual]
SVN Backup e restauração de repositórios.
Bem vindos ao Blog DomínioTXT.
Como debatido anteriormente no manual “Instalação de um Subversion SVN em Linux”, este sistema é uma ferramenta de suporte para ambientes de Desenvolvimento, agindo como uma forma de banco de dados para os scripts criados pelos Programadores.
Como uma ferramenta similar a um banco de dados, a SVN também possui suas próprias funções de Backup e Restauração de dados, que assim como em um data-base abrange as principais peculiaridade do próprio sistema.
Hoje veremos como efetuar o Backup e a restauração de um repositório SVN.
O que as ferramentas de backup do próprio SVN fazem é copiar todo o conteúdo do repositório, o que inclui as informações referentes aos “commits” e as revisões geradas, de forma a não se perder o controle do sistema de versionamento mesmo quando se tenha a necessidade de restaurar um Repositório.
Para descobrir o numero da ultima revisão de um determinado repositório utilize:
# sudo svnlook youngest “caminho do seu repositório”
No exemplo vamos verificar a ultima versão do repositório “projetodominiotxt” :
Como visto, temos a ultima versão do nosso repositório, porem podemos dar uma incrementada no nosso script, de forma a se ter maiores informações quanto a ultima versão.
Para que tenhamos informações referente ao nome do autor do ultimo “commit” e data que foi efetuada a atualização, podemos utilizar o comando a seguir:
# sudo svnlook info “caminho do seu repositório”
Este comando retorna a seguintes campos.
Na imagem acima podemos ver que o ultimo “commit” do repositório “projetodominiotxt” foi efetuado pelo usuário “admindominiotxt”, na data de 25 de junho de 2015, o numero da versão é 67 e a mensagem referente a modificação foi “Mensagem de teste de commit”.
Também é possível buscar uma determinada versão, sendo que para isso deve-se utilizar o complemento “-r Numero da versão”, para especificar a versão que deseja verificar. Abaixo segue um exemplo.
# sudo svnlook info “caminho do seu repositório” -r 65
Assim como na imagem anterior, neste caso também será apresentada todas as informações da revisão, porem apenas as que fazem referencia a versão de numero 65.
A seguir teremos o exemplo do comando que foi aplicado para fazer uma copia completa do nosso repositório, sendo este composto pelo script de chamada do SVN, local do nosso repositório e o destino de onde será armazenado nosso arquivo de backup.
# sudo svnadmin dump /svn/projetodominiotxt > bkp-rev03.r003
Como podemos ver no exemplo, o nosso repositório possui apenas 3 revisões, logo o mesmo apresenta um “Log” referente as três revisões. Porem podem haver casos em que seja necessário efetuar apenas o backup de uma revisão de um projeto, e neste caso você deve utilizar o complemento “-r Numero da versão”, conforme o exemplo anterior.
# sudo svnadmin dump -r 2 /svn/projetodominiotxt > bkp-rev03.r003
Também é possível efetuar um backup de um determinado período de revisões, o que é bastante útil para ambientes com um grande fluxo de “commits”, pois desta forma podemos recuperar apenas um intervalo do projeto sem comprometer o desenvolvimento atual.
No exemplo a seguir iremos gerar um arquivo referente as revisões de 1 a 3.
# sudo svnadmin dump -r 1:3 /svn/projetodominiotxt > bkp-rev03.r003
Em alguns casos podemos também efetuar a copia direta de um projeto para um novo repositório, o que acaba se tornando muito útil, pois permite que seja implantado um repositório de testes ou mesmo uma rotina automatizada de backup. No exemplo abaixo vamos efetuar a copia do projeto “projetodominiotxt” para uma repositório de bkp.
# sudo svnadmin hotcopy /svn/projetodominiotxt /svn/projetodominiotxt-bkp
Assim como o SVN possui um código próprio para a rotina de backup, o mesmo também possui algo semelhante para o processo de restauração de um Repositório.
Para efetuar a restauração você deve ter o arquivo de backup gerado anteriormente, e acesso ao terminal do seu servidor SVN. Dentro do terminal digite:
# sudo svnadmin load /svn/projetodominiotxt < bkp-rev03.r003
Com este comando estaremos utilizando o arquivo “bkp-rev03.r003” para recuperar o repositório “projetodominiotxt” dentro da nossa pasta da SVN.
Lembrando que ao efetuar este processo, todo o conteúdo armazenado anteriormente no repositório será restaurado e que a rotina efetuara automaticamente todos os “Commits” no novo repositório, deixando assim o mesmo idêntico ao anterior.
A todos o meu singelo agradecimento.
Mande sua opinião, sugestão ou reclamação. Contato DomínioTXT.
Bem vindos ao Blog DomínioTXT.
Como debatido anteriormente no manual “Instalação de um Subversion SVN em Linux”, este sistema é uma ferramenta de suporte para ambientes de Desenvolvimento, agindo como uma forma de banco de dados para os scripts criados pelos Programadores.
Como uma ferramenta similar a um banco de dados, a SVN também possui suas próprias funções de Backup e Restauração de dados, que assim como em um data-base abrange as principais peculiaridade do próprio sistema.
Hoje veremos como efetuar o Backup e a restauração de um repositório SVN.
Descrições e informações sobre os Repositórios SVN.
Os repositórios em SVN são famosos pelo seu absoluto controle sobre as alterações feitas nos códigos (commits ou efetivação), porem o que poucos sabem é que para cada “commit” é atribuído um numero que neste caso é chamado de “Revisão”.O que as ferramentas de backup do próprio SVN fazem é copiar todo o conteúdo do repositório, o que inclui as informações referentes aos “commits” e as revisões geradas, de forma a não se perder o controle do sistema de versionamento mesmo quando se tenha a necessidade de restaurar um Repositório.
Para descobrir o numero da ultima revisão de um determinado repositório utilize:
# sudo svnlook youngest “caminho do seu repositório”
No exemplo vamos verificar a ultima versão do repositório “projetodominiotxt” :
Como visto, temos a ultima versão do nosso repositório, porem podemos dar uma incrementada no nosso script, de forma a se ter maiores informações quanto a ultima versão.
Para que tenhamos informações referente ao nome do autor do ultimo “commit” e data que foi efetuada a atualização, podemos utilizar o comando a seguir:
# sudo svnlook info “caminho do seu repositório”
Este comando retorna a seguintes campos.
- Usuário.
- Data.
- Versão.
- Mensagem.
Na imagem acima podemos ver que o ultimo “commit” do repositório “projetodominiotxt” foi efetuado pelo usuário “admindominiotxt”, na data de 25 de junho de 2015, o numero da versão é 67 e a mensagem referente a modificação foi “Mensagem de teste de commit”.
Também é possível buscar uma determinada versão, sendo que para isso deve-se utilizar o complemento “-r Numero da versão”, para especificar a versão que deseja verificar. Abaixo segue um exemplo.
# sudo svnlook info “caminho do seu repositório” -r 65
Assim como na imagem anterior, neste caso também será apresentada todas as informações da revisão, porem apenas as que fazem referencia a versão de numero 65.
Efetuando Backup do Repositório.
Assim como visto no manual que trata do “backup e restauração do PostgreSql”, o SVN também utiliza o comando “dump” para fazer uma copia completa de um repositório.A seguir teremos o exemplo do comando que foi aplicado para fazer uma copia completa do nosso repositório, sendo este composto pelo script de chamada do SVN, local do nosso repositório e o destino de onde será armazenado nosso arquivo de backup.
# sudo svnadmin dump /svn/projetodominiotxt > bkp-rev03.r003
Como podemos ver no exemplo, o nosso repositório possui apenas 3 revisões, logo o mesmo apresenta um “Log” referente as três revisões. Porem podem haver casos em que seja necessário efetuar apenas o backup de uma revisão de um projeto, e neste caso você deve utilizar o complemento “-r Numero da versão”, conforme o exemplo anterior.
# sudo svnadmin dump -r 2 /svn/projetodominiotxt > bkp-rev03.r003
Também é possível efetuar um backup de um determinado período de revisões, o que é bastante útil para ambientes com um grande fluxo de “commits”, pois desta forma podemos recuperar apenas um intervalo do projeto sem comprometer o desenvolvimento atual.
No exemplo a seguir iremos gerar um arquivo referente as revisões de 1 a 3.
# sudo svnadmin dump -r 1:3 /svn/projetodominiotxt > bkp-rev03.r003
Em alguns casos podemos também efetuar a copia direta de um projeto para um novo repositório, o que acaba se tornando muito útil, pois permite que seja implantado um repositório de testes ou mesmo uma rotina automatizada de backup. No exemplo abaixo vamos efetuar a copia do projeto “projetodominiotxt” para uma repositório de bkp.
# sudo svnadmin hotcopy /svn/projetodominiotxt /svn/projetodominiotxt-bkp
Restaurando um repositório.
Assim como o SVN possui um código próprio para a rotina de backup, o mesmo também possui algo semelhante para o processo de restauração de um Repositório.
Para efetuar a restauração você deve ter o arquivo de backup gerado anteriormente, e acesso ao terminal do seu servidor SVN. Dentro do terminal digite:
# sudo svnadmin load /svn/projetodominiotxt < bkp-rev03.r003
Com este comando estaremos utilizando o arquivo “bkp-rev03.r003” para recuperar o repositório “projetodominiotxt” dentro da nossa pasta da SVN.
Lembrando que ao efetuar este processo, todo o conteúdo armazenado anteriormente no repositório será restaurado e que a rotina efetuara automaticamente todos os “Commits” no novo repositório, deixando assim o mesmo idêntico ao anterior.
A todos o meu singelo agradecimento.
Gostou do Blog, então deixe o seu comentário.
Quer sugerir algum assunto? Notou algo que não confere com o assunto?
Quer sugerir algum assunto? Notou algo que não confere com o assunto?