More than 1 year has passed since last update.

GitLabに用意されているrake taskの使い方。

バックアップ

gitlabのルートディレクトリで以下を実行する。
実行ユーザはGitLabを動かしているユーザで行う。(通常はgitユーザ)

backup
$ bundle exec rake gitlab:backup:create RAILS_ENV=production

LOCK TABLESへのアクセス権限が無いと怒られたら下記を実行する。

mysql> GRANT LOCK TABLES ON `db_gitlab`.* TO 'user_gitlab'@'localhost';

バックアップの設定

config/gitlab.ymlの「backup:」セクションに以下を記述する。

項目 内容
path: バックアップファイルの出力先。デフォルトは(相対パスで)tmp/backups
keep_time: 世代管理で「残しておきたい秒数」を記述する。デフォルトは0で無期限。

リストア

gitlabのルートディレクトリで以下を実行する。
実行ユーザはGitLabを動かしているユーザで行う。(通常はgitユーザ)

restore
$ bundle exec rake RAILS_ENV=production gitlab:backup:restore BACKUP=<file_name>

cron設定

下記のようなshellファイルを作ってGitLabを動かしているユーザのcronに記述する。
PATHを通してあげないと怒られると思う。

gitlab-backup
#!/bin/bash

PATH=<gitユーザのPATHを参考にする>

export PATH

date
cd /home/git/gitlab
bundle exec rake gitlab:backup:create RAILS_ENV=production
  • Linked from these articles
  • Linked from GitLab Tips
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.