GitLab をバックアップする

GitLab のバックアップは簡単でコマンドを叩くだけです。

GitLabのバックアップの取り方

https://docs.gitlab.com/ee/raketasks/backup_restore.html

に書いてあるとおり、

を実行すると /var/opt/gitlab/backups/ に次のようなファイル名で作成されます。

GitLabのバックアップ設定

例えばバックアップは7日間だけ維持したいということであれば、 /etc/gitlab/gitlab.rb を編集して次のようにします。単位は秒なので、60*60*24*7とします。

編集後sudo gitlab-ctl reconfigureを実行すると反映されます。reconfigureを実行する際、/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.ymlを手動で編集している場合、上書きされますのでご注意下さい。

GitLabのバックアップを毎日自動実行する

cron で定期的に実行すれば、バックアップが先ほどの/var/opt/gitlab/backups/ ディレクトリに作成されます。cronで毎日午前2時に設定する例をあげておきます。

すると、指定したディレクトリ(規定ではtmp/backups/) に次のように作成されます。古いファイルは先ほどの設定により自動で廃棄されます。

バックアップを別サーバーに複製する

サーバー1つだけのバックアップではBCP的に不安ですので、このディレクトリごと他のサーバーと同期すると良いと思います。AWS s3などのクラウドにもバックアップ可能です。

弊社では社内のWindows Serverにタスクスケジューラーからwinscpを使用して同期しています。synchronize local -deleteのようにするとリモートのディレクトリと同じ構成になり、リモートのサーバーで消されたファイルはローカルから同様に消してくれるので、良い感じになります。

s3 などにバックアップする場合の注意点は、先ほどの backup_keep_time は有効にならないので、s3のライフサイクルポリシーで管理すると良いです。

まとめ

GitLabを社内サーバーにインストールして使用している方は、サーバーの障害などで使用出来なくなると困るので、バックアップを是非取るようにしましょう。



❏❏ TOPIC ❏❏ ------------------------------------------------------------

カスタム自由!フリーECサイトパッケージ
チャットボット導入サービス
WEBシステム開発・スマホアプリ開発はSRIAへ