GitLabのバックアップ先をNASにする
GitLabのバックアップをNASに保存するようにしたのでメモ
GitLabバージョン:GitLab Community Edition 9.1.10
GitLabのバックアップ方法
GitLabではコマンド1つでバックアップファイルを作ってくれるのでとても便利。
$ sudo gitlab-rake gitlab:backup:create
バックアップファイルの保存先や保存期間も、自由に変更できる。
NASへのバックアップ保存
NASをmountして、バックアップファイルの保存先をNAS内のフォルダにしようとしたが、フォルダの権限の関係でうまくいかなかったので、バックアップ用シェルスクリプトを用意した。
バックアップの保存期間設定
初めに、どれくらい古いバックアップファイルも残すかを設定。今回は保存期間を7日に設定。
$ sudo emacs /etc/gitlab/gitlab.rb
#backup_keep_timeを設定(7日間のデータのみを保持)
gitlab_rails['backup_keep_time'] = 604800
#設定反映
$ sudo gitlab-ctl reconfigure
バックアップ用シェルスクリプト
バックアップファイルを生成したのち、rsync で --deleteをつけてNASに飛ばすことで、NAS上にも古いバックアップファイルが残らないようにしている。
# !/bin/sh
echo "Start backup GitLab"
sudo mount -t cifs //192.168.XXX.XXX/ /mnt/NAS/ -o password=''
sudo gitlab-rake gitlab:backup:create
sudo rsync -au --delete /var/opt/gitlab/backups/ /mnt/NAS/backup/gitlab