backup.rst.in 1.9 KB
Backup
======

O SPB possui rotinas automatizadas para backup e restore dos dados de
todos os seus componentes. As seções a seguir descrevem estas rotinas.
Ambos os procedimentos devem ser realizados num *shell* onde o diretório
atual é o repositório de controle de versão do SPB.

Procedimento de backup
----------------------

Suponha que estamos realizando um backup do ambiente de produção,
chamado de ``prod``; o comando para realizar um *backup* é o seguinte
(note ``SPB_ENV=prod``)::

    $ rake backup SPB_ENV=prod

Esta operação vai copiar arquivos e *dumps* dos bancos de dados do
Noosfero, GitLab, Colab e Mailman, e copiá-los para um subdiretório
chamado ``backups`` na sua estação de trabalho.

Toda vez que o procedimento de backup é executado, o diretório ``backups`` é removido no início do procedimento, de modo que não se deve armazenar os backups obtidos em tal diretório.

Note que o comando para resgatar os backups, especificado acima, apenas copia arquivos das máquinas ``integration`` e ``social`` para sua estação de trabalho. Os backups são realizados em tais servidores utilizando o ``rsnapshot``, e podem ser encontrados no diretório ``/.snapshots`` em cada um dos servidores mencionados.

Procedimento de restauração
---------------------------

**Importante:** o procedimento de restauração é suportado apenas para uma
versão idêntica da plataforma, ou seja, não é suportado fazer um *backup*
de uma versão mais antiga da plataforma e restaurar esse *backup* numa
versão mais recente da plataforma, e nem vice-versa.

O comando para restaurar um backup no ambiente **@@SPB_ENV@@** é o seguinte::

    $ rake restore SPB_ENV=@@SPB_ENV@@

Esta operação vai restaurar o último backup realizado no ambiente
chamado **@@SPB_ENV@@**.

**Importante:** a restauração do backup irá apagar os dados existes no
ambiente @@SPB_ENV@@. Confira duas vezes antes de iniciar o
procedimento.