プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2017/11/09

GitLab のバックアップとリストア

update2018/04/19 event_note2017/11/08 23:21

オンプレミスで Docker 上で動作させている GitLab のバックアップとリストアについてです。

環境

  • ホスト : CentOS 7
  • GitLab 8.12.1

バックアップ

まずは Docker コンテナに入ります。

docker exec -it コンテナ名 bash

GitLab では以下のコマンドを入力することで簡単にバックアップが行えます。

gitlab-rake gitlab:backup:create

バックアップしたファイルは /var/opt/gitlab/backups1524094876_2018_04_18_10.1.2_gitlab_backup.tar のような名前で保存されています。

データのコピー

バックアップしたファイルを別の Docker コンテナでリストアしたかったため、ファイルを移動させる必要がありました。
まずはホスト環境にコピーします。

docker cp <コンテナID>:ファイルのパス フォルダ名

例えば以下のような感じです。

docker cp gitlab:/var/opt/gitlab/backups/1524094876_2018_04_18_10.1.2_gitlab_backup.tar ./

今度はリストアしたいコンテナにコピーします。

docker cp ファイルのパス <コンテナID>:フォルダ名

例えば以下のような感じです。

docker cp 1524094876_2018_04_18_10.1.2_gitlab_backup.tar gitlab:/var/opt/gitlab/backups/

リストア

リストア自体は以下のコマンドでできます。

gitlab-rake gitlab:backup:restore

バックアップファイルが複数ある場合は、以下のようにタイムスタンプを指定します。

gitlab-rake gitlab:backup:restore BACKUP=1524094876_2018_04_18_10.1.2

既存のテーブルを削除するかどうか聞かれたら、問題ないかどうか確認したうえで yes と入力します。

参考 URL