Skip to content

Instantly share code, notes, and snippets.

@seocam
Forked from anonymous/colab_paste
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save seocam/8e8294e0675c25b5576f to your computer and use it in GitHub Desktop.
Save seocam/8e8294e0675c25b5576f to your computer and use it in GitHub Desktop.

Backup e Restauração Colab/Gitlab

Estes passos assumem que o Colab e o Gitlab já estão instalados e funcionando com seus bancos default (sem dados).

Backup

Todos os passos a seguir devem ser executados no beta.softwarepublico.gov.br:

  • Backup Colab DB:
/usr/pgsql-9.3/bin/pg_dump colab > colab.dump
  • Backup Gitlab:
cd /usr/lib/gitlab
sudo gitlab-rake gitlab:backup:create

O comando acima vai gerar um arquivo .tar no diretório /var/opt/gitlab/backups/.

Restaurar Colab

Na máquina database:

Nota: Use o usuário postgres

  • Remova e recrie o banco colab:
dropdb colab
createdb colab
  • Restaure o backup:
psql colab < colab.dump
  • De as devidas permissões para o usuário colab:
echo 'GRANT ALL ON SCHEMA public TO "colab";' | psql colab

Na máquina integration:

  • Execute as migrações do colab:
colab-admin migrate
  • Reinicie o processo do Colab:
sudo systemctl restart colab

Restaurar o Gitlab

  • Descompacte o arquivo .tar:
tar xf <number>_gitlab_backup.tar
  • Envie o db/database.sql para a máquina de database e os diretórios repositories e uploads para a máquina integration.

Na máquina database:

Nota: Use o usuário postgres

  • Remova e recrie o banco gitlab:
dropdb gitlab
createdb gitlab
  • Restaure o backup:
psql gitlab < backup/db/database.sql
  • De as devidas permissões para o usuário gitlab:
echo 'GRANT ALL ON SCHEMA public TO "gitlab";' | psql gitlab

Na máquina integration:

  • Execute as migrações do Gitlab:
cd /usr/lib/gitlab
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production SCHEMA=/dev/null
  • Copie os repositórios:
sudo cp -a /vagrant/backup/repositories/* /var/lib/gitlab/repositories
sudo chown -fR git:git /var/lib/gitlab/repositories
  • Desfaça o bundle dos repositórios:
cd /var/lib/gitlab/repositories
for ORG in `ls -1`
do
    for FILE in `ls -1 $ORG/*.bundle`
    do
        repo="${FILE%.*}"
        sudo -u git git clone --mirror $FILE $repo.git
    done
done
  • Crie os satellites:
cd /usr/lib/gitlab
sudo -u git -H bundle exec rake gitlab:satellites:create RAILS_ENV=production
  • Reinicie o processo do gitlab:
sudo systemctl restart gitlab
@athos-ribeiro
Copy link

em

sudo cp -a /vagrant/backup/repositories/* /var/lib/gitlab/repositories
sudo chown -fR git:git /var/lib/gitlab/repositories

substitua /vagrant/backup pelo caminho onde copiou o diretório repositories em um passo anterior.

e quanto ao backup do diretório de uploads?

sudo cp -a ~/uploads/* /var/lib/gitlab-uploads
sudo chown -fR root:root /var/lib/gitlab-uploads (root??)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment