Gitlabのバックアップ・リストアの方法を徹底解説!OSはUbuntu 20.04

Gitlab

こんにちはマサです。

今回Gitlabのバックアップ方法を解説します。
Gitlabのハードウェアが壊れてデータロストしましたーというのは取り返しがつかないことになりかねませんのでバックアップをとっておきましょう!

Gitlabのバックアップ・リストアには3つのバックアップが必要です。

・リポジトリとDBのバックアップ
・設定ファイルのバックアップ
・lfsのバックアップ(lfsは事前に設定されている方のみ)

スポンサーリンク

バックアップ方法

Gitlabは公式のリファレンスが充実しているので、下記URLも確認することをおすすめします。

基本的には下記URLを確認しながら行うこともできますが、すべて英語です。
(おそらく日本語のリファレンスもあるかも。。。)

個人的には、調べる際に英語での資料で理解できたほうが情報収集が早くなるので長期的には英語で調べることを推奨します。

参考URL: https://docs.gitlab.com/ee/raketasks/backup_restore.html

リポジトリとDBのバックアップ

GitlabにはリポジトリとDBのバックアップのコマンドは用意されているので下記のコマンド打ち込みます。

そうするとlsコマンドでtarファイルが生成されているか確認します。

上記コマンドでファイルの中身を確認すると「1528815659_2021_11_12_gitlab_backup.tar」のようなファイルが保存されているはずです。

設定ファイルのバックアップ

まずは、設定ファイルの保存場所を作成します。

上のmkdirコマンドで保存場所のディレクトを作成しました。

tarコマンドで設定ファイルのバックアップを取ります。
2021_1112の部分はその日の日付にしてください。

2021_1112_setting.tar.gz
というファイルが生成されていると思います。

lfsのバックアップ

lfsのバックアップでは、設定されていないので
vi /etc/gitlab/gitlab.rbのファイルが、
[‘lfs_storage_path’] = “/mnt/storage/lfs-objects”になっていることを前提で続けます。

※lfsを設定していない場合は飛ばしてください。

まずは、lfsの保存場所を作成します。

上のmkdirコマンドで保存場所のディレクトを作成しました。

tarコマンドで設定ファイルのバックアップを取ります。
2021_1112の部分はその日の日付にしてください。

2021_1112_lfs.tar.gz
というファイルが生成されていると思います。

バックアップファイルの生成は以上です。

リストア方法

リポジトリとDBのリストア

リポジトリとDBのバックアップ保存したデータを使用します。
下記のコマンドでtarファイル入っていることを確認します。

上記のようにデータ入っていると思います。
もし.tarファイルが入ってない場合は、cpコマンドなどでデータを/var/opt/gitlab/backupsへデータを移動してください。

上記コマンドでデータベースに接続しているプロセスを一時的に停止します。

上記コマンドでリポジトリとDBのリストアが完了です。

設定ファイルのリストア

設定ファイルのバックアップの項目でデータを作成したので、tar.gzをファイルを展開させます。

上記のコマンドで展開するとgitlabというディレクトリが生成されたと思います。

mvコマンドまたはcpコマンドでetc/gitlabのデータを書き換えます。

lfsのリストア

lfsのバックアップの項目でデータを作成したので、tar.gzファイルを展開させます。

上記のコマンドで展開するとlfs-objectsというファイルが生成されたと思います。

mvコマンドまたはcpコマンドでmnt/storageにデータ移行します。

最後にGitlabの再設定・再起動を行います。

上記コマンドを打って再起動が完了するまで待ちます。

再起動が完了したことを確認してブラウザからgitlabが復活しているか?確認します。

・username
・password

を入力してサインインできたら完了です。

以上です。

今回のまとめ

今回Gitlabのバックアップについて解説しました。

冒頭でもお伝えしましたがGitlabはリファレンスが充実しているので、ほとんどのことはリファレンスから情報を得ることができますので必要な際は読んでみてください。

最後まで読んでいただきありがとうございました。

Git Large File Storage (LFS) | GitLab
GitLab Community Edition、GitLab Enterprise Edition、Omnibus GitLab、GitLab Runnerの日本語ドキュメントです。

コメント

タイトルとURLをコピーしました