rvm利用環境で gitlab バックアップを取得

目的

gitlabのバックアップを取得する

実施手順

方針

Rakeタスク gitlab:backup:create を利用してバックアップを実施します。
rvm利用環境のため 利用 ruby バージョンを指定してスクリプトを実行。

バックアップ設定を実施

keep_time でバックアップファイルの保持が行われるので、適宜設定しましょう

/home/git/gitlab/config/gitlab.yml

バックアップスクリプトの作成

#!/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

投稿者プロフィール

takashi
Japan AWS Ambassadors 2023-
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております

機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

Japan AWS Ambassadors 2023- 開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て 2010年よりスカイアーチネットワークスに在籍しております 機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。