Backup e restauração do DSpace

Esta página possui como intuito descrever os passos necessários para os procedimentos de realização de backup periódico e também a restauração de uma instalação do DSpace para uma nova instância. Este último mecanismo pode ser útil para uma restauração de backup em caso de perdas ou para uma atualização de versões, respeitadas as recomendações da Duraspace.

Backup dos dados

O backup dos dados de um repositório DSpace pode ser realizado de modo periódico por um script como o exemplo abaixo:

computadorlocal=$(hostname)    #Nome do computador
diretoriosaida="/data/backup"  #Diretorio onde serao salvos os backups
data=$(date +%Y%m%d_%H%M"h")   #Data e Hora atual
administrator="root"
pgsql_user="dspace"
REMOTE_SERVER="<user>@<IP ADDRESS>"

#Criando diretório para backups no servidor de backup
ssh $REMOTE_SERVER mkdir /backup/ri/$data

#Especificando diretorios para backup
diretorio1="/data/apache-tomcat-7.0.55/webapps"
diretorio2="/data/dspace-base"
diretorio3="/data/dspace-fonte"

#Iniciando Modulo Backup de Base de Dados PostgreSQL

echo "iniciando o modulo de backup de base de dados do PostgreSQL..."
echo "Executando backup da base de dados bddspace..."

pg_dump -Ft -U $pgsql_user -v bddspace > $diretoriosaida/$data"_bddspace.tar"
scp $diretoriosaida/$data"_bddspace.tar" $REMOTE_SERVER:/backup/ri/$data
rm $diretoriosaida/$data"_bddspace.tar"

#Backup dos diretórios

echo "Iniciando backup dos diretorios. Este Processo pode demorar muitos minutos."
tar -cvzf $diretoriosaida/bkp_tomcat_$data.tar.gz $diretorio1
scp $diretoriosaida/bkp_tomcat_$data.tar.gz $REMOTE_SERVER:/backup/ri/$data
rm $diretoriosaida/bkp_tomcat_$data.tar.gz

tar -cvzf $diretoriosaida/bkp_dspace-fonte_$data.tar.gz $diretorio3
scp $diretoriosaida/bkp_dspace-fonte_$data.tar.gz $REMOTE_SERVER:/backup/ri/$data
rm $diretoriosaida/bkp_dspace-fonte_$data.tar.gz

tar --exclude "/data/dspace-base/log" -cvzf $diretoriosaida/bkp_dspace-base_$data.tar.gz $diretorio2
scp $diretoriosaida/bkp_dspace-base_$data.tar.gz $REMOTE_SERVER:/backup/ri/$data
rm $diretoriosaida/bkp_dspace-base_$data.tar.gz

Restauração dos dados

Passos

  1. Fazer toda a instalação do dspace, adicionando as informações:
    • Criar os diretórios /dspace-base e /home/dspace/dspace-fonte (Esse nome de diretório tem que ser idêntico ao do repositório oficial);
    • Criar uma base de dados chamada bddspace (tem que ser o nome idêntico ao do repositório oficial e com usuário e senha também idênticos);
    • Substituir o arquivo dspace.cfg do repositório clone pelo o dspace.cfg do repositório oficial. Essa opção tem que ser feita antes dos comandos “mvn package” e “ant frash_install”.
  2. Ao finalizar a instalação, siga os passos abaixo para EXCLUIR a base de dados (no repositório clone):
    • Mudar para usuário postgres: su postgres;
    • Executar o comando dropdb bddspace (bddspace é o nome da base de dados).
  3. Criar um banco totalmente vazio:
    • “createdb -U dspace -E UNICODE bddspace” (Criar com o mesmo nome).
  4. Fazer backup da base do repositório oficial e restaurar no repositório clone:
    • Backup - Na linha de comando do repositório oficial execute o comando: pg_dump -Ft bddspace > /home/dspace/bddspace.tar (bddspace é o nome da base de dados e bddspace.tar é o nome do arquivo que vai ser gerado).
    • Restore - Na linha de comando da nova instalação execute o comando: pg_restore -d bddspace /backup/bddspace.tar
  5. Fazer backup dos diretórios do repositório oficial em local seguro, esses diretórios irão substituir os diretórios na instância que está sendo instalada:
    • Diretórios do repositório oficial:
      • /home/dspace/dspace-fonte;
      • /dspace-base/assetstore;
      • /dspace-base/config;
      • /dspace-base/log;
      • /dspace-base/history.
      • /home/dspace/apache-tomcat-xxx/webapps
    • Modificar o nome dos diretórios no repositório clone (Ex.: mv dspace-fonte dspace-fonte.bkp):
      • /home/dspace/dspace-fonte;
      • /dspace-base/assetstore;
      • /dspace-base/config;
      • /dspace-base/log;
      • /dspace-base/history.
    • Mover o backup dos diretórios do repositório oficial para os respectivos locais no repositório clone:
      • Passo 1: Criar um diretório com nome backup e colocar o backup dos diretórios do repositório oficial dentro: Mkdir /backup.
      • Passo 2:
        1. Mover os diretórios que está dentro do diretório /backup deixando com a configuração abaixo:
          • /home/dspace/dspace-fonte;
          • /dspace-base/assetstore;
          • /dspace-base/config;
          • /dspace-base/log;
          • /dspace-base/history;
          • /dspace-base/webapps.
        2. Após o procedimento mencionado acima copiar os arquivos da pasta webapps:
          • cp -R /dspace-base/webapps/*
          • /home/dspace/apache-tomcat…/webapps
  6. Se for utilizar outro domínio configurar no dspace.conf:
  7. Iniciar o tomcat e verificar se o procedimento foi executado corretamente