目的
gitlabのバックアップを取得する
実施手順
方針
Rakeタスク gitlab:backup:create を利用してバックアップを実施します。
rvm利用環境のため 利用 ruby バージョンを指定してスクリプトを実行。
バックアップ設定を実施
keep_time でバックアップファイルの保持が行われるので、適宜設定しましょう
/home/git/gitlab/config/gitlab.yml
1 2 3 |
backup: path: "/path/to/backup/" # Relative paths are relative to Rails.root (default: tmp/backups/) keep_time: 172800 # default: 0 (forever) (in seconds) |
バックアップスクリプトの作成
#!/bin/bash PATH=/usr/local/rvm/gems/ruby-2.0.0-p247/bin:/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin:/usr/local/rvm/rubies/ruby-2.0.0-p247/bin:/usr/local/rvm/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/pgsql-9.2/bin/:/home/git/bin export PATH date cd /home/git/gitlab bundle exec rake gitlab:backup:create RAILS_ENV=production
cron追記
# git backup 5 0 * * * git source /usr/local/rvm/environments/ruby-2.0.0-p247 && /script/gitlab_backup.sh >/var/log/gitlab_backup.log 2>&1
結果
自分の環境でバックアップファイルを確認した所、バックアップファイルに下記が含まれておりました。
レポジトリ
repositories/
repositories/skyarchnetworks/
データベースDumpファイル
db/
db/database.sql
アップロードファイル (アバター用画像/アップロードディレクトリ?)
uploads/
uploads/group/
uploads/group/avatar/
uploads/user/
uploads/user/avatar/
uploads/tmp/
バックアップ情報 (中身はバージョン情報/取得日時等でした)
backup_information.yml
作成されたバックアップファイル
1425827259_gitlab_backup.tar
UNIXタイムスタンプがファイル名の先頭に付与されています。
バックアップ元ディレクトリ/バックアップファイルサイズの参考情報は下記となります。
バックアップ元 ディレクトリサイズ
1.1G /home/git/repositories/
27M /var/lib/mysql/gitlabhq_production/
バックアップファイルサイズ
742MB 1425827259_gitlab_backup.tar
バックアップ作成時ログファイル
Mon Mar 9 00:05:01 JST 2015 Dumping database ... Dumping MySQL database gitlabhq_production ... [DONE] done Dumping repositories ... * skyarchnetworks/skyhopper ... [DONE] * skyarchnetworks/skyhopper.wiki ... [SKIPPED] ... * skyarchnetworks/savacanapp ... [DONE] * skyarchnetworks/savacanapp.wiki ... [SKIPPED] done Dumping uploads ... done Creating backup archive: 1425827259_gitlab_backup.tar ... done Deleting tmp directories ... done Deleting old backups ... done. (0 removed)
注意事項
バックアップファイル作成にあたっては最初にバックアップ用一時ディレクトリが作成されてから
tar.gz ファイルが作成されるため、バックアップ吐き出しパーティションには余裕をもたせましょう!
謝辞
下記記事を参考にしました、ありがとうございました。
http://beniyama.hatenablog.jp/entry/2014/03/18/172017