GitLab のデータをバックアップする

Software Configuration Management (SCM)

GitLab のデータをバックアップしてみました。

GitLab は付属のツールで簡単にバックアップを取ることができます。


GitLab のデータをバックアップしてみることにしました。

GitLab を単なる git のリモートリポジトリとして1人で使っている分にはそれほどバックアップの必要性も感じなかったのですけど、複数人で Issue を使い始めたり、グループを登録して管理するようになったりすると、何かのときに備えておきたくなってきました。

GitLab のデータをバックアップする

今回は Fedora 23 にインストールした GitLab 8.3.2 のデータをバックアップしてみます。バックアップは GitLab に付属のツール gitlab-rake を使って、次のように簡単に実行できます。

gitlab-rake gitlab:backup:create

こうすることで GitLab で運用しているリポジトリや Wiki なども含めてバックアップされます。

もし gitlab-rake が見つからない場合は /opt/gitlab/bin/gitlab-rake のようにパスを直接指定してみると実行できるかもしれません。通常は /usr/bin/gitlab-rake からシンボリックリンクが張られているようなので、パスを指定しなくても大丈夫なはずです。

バックアップの保存場所と復元について

ちなみにバックアップは 1453102181_gitlab_backup.tar みたいな名前で1つのファイルにまとめられます。そして /var/opt/gitlab/backups ディレクトリに保存されます。

バックアップから復元したい場合は gitlab-rake gitlab:backup:restore を実行することで行える様子です。複数のバックアップが取られている場合は、先ほどのコマンドに続けて BACKUP=timestamp を追記して、この timestamp のところで復元したいバックアップを指定することになるようです。