Backlog サーバの移行手順をおしえてください ( エンタープライズ プロフェッショナル エディション )

Backlog サーバを移行する手順は以下のとおりです。

1. システム要件

  • 移行先に、移行元と同バージョンのデータベースがインストール済みであること
  • 移行先に、移行元と同バージョンのBacklog がインストール済みであること

Backlog インストール方法はインストールガイドをご参照ください。移行先にはインストールガイドの「4. インストール」までを済ませてください。

2. 概要

移行の必要があるデータは下記のとおりです。

  • データベース
  • アイコン画像を保管しているディレクトリ
  • Subversion のデータを保管しているディレクトリ
  • Git のデータを保管しているディレクトリ
  • 検索インデックスのデータを保管しているディレクトリ
  • 共有ファイル( WebDAV ) のデータを保管しているディレクトリ

各保管ディレクトリは、/opt/backlog/data 以下に存在します。 以下、/opt/backlog/data をデータ領域ディレクトリと呼んで説明します。

3. 移行手順

下記の手順に沿って移行作業を行ってください。

移行元

  1. Backlog を停止します
  2. データベースのダンプファイルを作成します
  3. データ領域ディレクトリを圧縮します

移行先

  1. 移行元からダンプファイルとデータ領域の圧縮ファイルを取得します
  2. Backlog を停止します
  3. インストール時に作成したデータベースを削除し、あらたにデータベースを作成します
  4. データ領域ディレクトリを空にします
  5. データベースのダンプファイルをリストアします
  6. データ領域の圧縮ファイルを解凍し、移行元のデータ領域にコピーします
  7. Backlog を起動します

以下に詳細な手順を説明しますが、次の例でコマンドなどを記載しています。

データベース backlog
データベースユーザ backlog
移行先サーバでの移行データ格納場所 /mnt

移行元

1. Backlog を停止します

  • Red Hat Enterprise Linux 6 server または CentOS 6 の場合

service backlog-www stop
service backlog-app stop
service backlog-mobile stop廃止されました
service backlog-git stop
service backlog-api stop

  • Red Hat Enterprise Linux 7 または CentOS 7 の場合

systemctl stop backlog.target

2. データベースのダンプファイルを作成します

  • PostgreSQL の場合

pg_dump -U backlog backlog > backlog-dump.sql

  • MySQL の場合

mysqldump -ubacklog -p --opt backlog > backlog-dump.sql

3. データ領域のディレクトリを9つ圧縮します

cd /opt/backlog/data
tar cvf backlog-data-image.tar image
tar cvf backlog-data-svn.tar svn
tar cvf backlog-data-git.tar git

cd lucene
tar cvf backlog-data-lucene-index.tar index

cd ../solr/issue
tar cvf backlog-data-solr-issue-data.tar data
cd ../wiki
tar cvf backlog-data-solr-wiki-data.tar data
cd ../pull_request
tar cvf backlog-data-solr-pull_request-data.tar data
cd ../shared_file
tar cvf backlog-data-solr-shared_file-data.tar data

cd ../../share
tar cvf backlog-data-share-dav.tar dav

移行先

4. 移行元からダンプファイルと圧縮ファイルを取得します

移行先から scp などで /mnt 以下に保管します。

5. Backlog を停止します

  • Red Hat Enterprise Linux 6 server または CentOS 6 の場合

service backlog-www stop
service backlog-app stop
service backlog-mobile stop廃止されました
service backlog-git stop
service backlog-api stop

  • Red Hat Enterprise Linux 7 または CentOS 7 の場合

systemctl stop backlog.target

6. インストール時に作成したデータベースを削除し、あらたにデータベースを作成します

  • PostgreSQL の場合

dropdb -U backlog backlog
createdb -U backlog -E UTF8 backlog

  • MySQL の場合

mysqladmin -u backlog -p drop backlog
mysqladmin -u backlog -p create backlog

7. データ領域ディレクトリを空にします

rm -rf /opt/backlog/data/image
rm -rf /opt/backlog/data/svn
rm -rf /opt/backlog/data/git
rm -rf /opt/backlog/data/lucene/index
rm -rf /opt/backlog/data/solr/issue/data
rm -rf /opt/backlog/data/solr/wiki/data
rm -rf /opt/backlog/data/solr/pull_request/data
rm -rf /opt/backlog/data/solr/shared_file/data
rm -rf /opt/backlog/data/share/dav

8. 移行元で作成したデータベースのダンプファイルをリストアします

  • PostgreSQL の場合

psql -U backlog backlog < /mnt/backlog-dump.sql

  • MySQL の場合

mysql -ubacklog -p backlog < /mnt/backlog-dump.sql

9. データ領域をリストアします

mkdir /mnt/backlog-data
mkdir /mnt/backlog-data/image
tar xvf /mnt/backlog-data-image.tar -C /mnt/backlog-data/image
cp -r /mnt/backlog-data/image/image /opt/backlog/data

mkdir /mnt/backlog-data/svn
tar xvf /mnt/backlog-data-svn.tar -C /mnt/backlog-data/svn
cp -r /mnt/backlog-data/svn/svn /opt/backlog/data

mkdir /mnt/backlog-data/git
tar xvf /mnt/backlog-data-git.tar -C /mnt/backlog-data/git
cp -r /mnt/backlog-data/git/git /opt/backlog/data

mkdir /mnt/backlog-data/lucene-index
tar xvf /mnt/backlog-data-lucene-index.tar -C /mnt/backlog-data/lucene-index
cp -r /mnt/backlog-data/lucene-index/index /opt/backlog/data/lucene

mkdir /mnt/backlog-data/solr-issue-data
tar xvf /mnt/backlog-data-solr-issue-data.tar -C /mnt/backlog-data/solr-issue-data
cp -r /mnt/backlog-data/solr-issue-data/data /opt/backlog/data/solr/issue

mkdir /mnt/backlog-data/solr-wiki-data
tar xvf /mnt/backlog-data-solr-wiki-data.tar -C /mnt/backlog-data/solr-wiki-data
cp -r /mnt/backlog-data/solr-wiki-data/data /opt/backlog/data/solr/wiki

mkdir /mnt/backlog-data/solr-pull_request-data
tar xvf /mnt/backlog-data-solr-pull_request-data.tar -C /mnt/backlog-data/solr-pull_request-data
cp -r /mnt/backlog-data/solr-pull_request-data/data /opt/backlog/data/solr/pull_request

mkdir /mnt/backlog-data/solr-shared_file-data
tar xvf /mnt/backlog-data-solr-shared_file-data.tar -C /mnt/backlog-data/solr-shared_file-data
cp -r /mnt/backlog-data/solr-shared_file-data/data /opt/backlog/data/solr/shared_file

mkdir /mnt/backlog-data/share-dav
tar xvf /mnt/backlog-data-share-dav.tar -C /mnt/backlog-data/share-dav
cp -r /mnt/backlog-data/share-dav/dav /opt/backlog/data/share

データ領域ディレクトリの所有者とグループに、backlogを指定します。

chown -R backlog.backlog /opt/backlog/data

10. Backlog を起動します

  • Red Hat Enterprise Linux 6 server または CentOS 6 の場合

service backlog-app start
service backlog-git start
service backlog-mobile start廃止されました
service backlog-www start
service backlog-api start

  • Red Hat Enterprise Linux 7 または CentOS 7 の場合

systemctl start backlog.target

以上でデータの移行が完了します。 起動した初回のアクセス時には スペース設定 > スペースの編集 にて スペースURL の確認と設定を行ってください。