56
61

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GitBucketのバックアップ方法

Last updated at Posted at 2016-01-25

【東京】JJUGナイトセミナー Git入門が盛況だったみたいですね!

@syobochim が紹介したGitBucketは簡単に導入できますが、ちゃんとバックアップの運用も考えないとえらいことになります。

GitBucket, backupでググると@koudaiiiのメモ
が一番最初に見つかったけど、ちょっと古そうだったので調べてみました。

ってことでバックアップ方法の紹介です。

GitBucketのバックアップ方法

基本的には以下のWikiの通りなので以下を参照してください。

バックアップにはWikiに記載されているbackup scriptをそのまま利用します。

事前準備(オプション)

DB(H2)のバックアップを取る場合はgitbucket-h2-backup-pluginをインストールしておきましょう。

プラグインの画面を見ると、以下の通り/gitbucket/database/backupにHTTP GETリクエストを送ればバックアップ処理が動くことが書かれており、上記のbackup script内でも引数で渡されたDBバックアップ用のURLに対してHTTP GETリクエストを送るようになっています。
h2-backup

バックアップ

Wikiに記載されているbackup scriptをコピーし、任意の場所に配置します。
自分の場合は$GITBUCKET_HOME/backup.shとして配置しました。

backup scriptはコマンド引数として第一引数にGitBucketのホームディレクトリ、第二引数にバックアップ先のディレクトリ、第三引数はオプションとして上記事前準備で説明したDBバックアップ用のURLを指定します。

tomcatで動かしているので、自分の環境の場合は以下のとおり。

$ bash /var/lib/tomcat7/data/.gitbucket/backup.sh $GITBUCKET_HOME $GITBUCKET_HOME/backup  http://localhost/gitbucket/database/backup

実行すると、指定したバックアップディレクトリに$GITBUCKET_HOME/dataのアーカイブ(data.tar.gz)、各リポジトリのバックアップ(--mirrorオプション付でcloneしたもの)、GitBucketの設定ファイル(gitbucket.conf)、第三引数まで指定した場合はデータベースのバックアップ(gitbucket-database-backup.zip)が出力されます。

cronで定期的にバックアップ

手動で実行するのはさすがに面倒なので、cronで定期的に実行するように設定しておきます。

/etc/crontab を以下のように設定します。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
GITBUCKET_HOME=/var/lib/tomcat7/data/.gitbucket
BACKUP_FOLDER=/var/lib/tomcat7/data/.gitbucket/backup


# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

00 3 * * * root bash /var/lib/tomcat7/data/.gitbucket/backup.sh $GITBUCKET_HOME $BACKUP_FOLDER http://localhost/gitbucket/database/backup

これでH2がぶっ壊れても安心ですね!

56
61
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
61

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?