【コピペOK】Rocket.Chatを5ステップでリストアする方法

★悩み★
・Rocket.Chatをリストアする方法が分からない。
・Rocket.Chat内のチャット情報をリストアできるのだろうか。
・Rocket.Chat内でアップロードした画像はリストアできるのだろうか。


こういった「悩み」に答えます。

★本記事の内容★
① Rocket.Chatを5ステップでリストアする方法をご紹介【実機検証あり】
② 本記事で紹介するRocket.Chatリストア方法の注意点をご紹介


これからご紹介する「Rocket.Chatを5ステップでリストアする方法」を実践したことで、筆者は15分以内でRocket.Chatをリストアできました。

記事の前半では「Rocket.Chatをリストアする方法」を解説しつつ、記事の後半では「Rocket.Chatのリストアで注意する点」をご紹介します。

この記事を読み終えることで、「Rocket.Chatのリストア」を把握した状態になります。

ちなみに、Rocket.Chatのバックアップ方法を知りたい方は、以下をご覧ください。

Rocket.Chatを5ステップでリストアする方法

Rocket.Chatでリストアする方法をご紹介します。

下記記事のようにnpm経由でRocket.Chatをインストールした場合、Rocket.Chatのリストア用コマンドは存在しません。

そこで今回、npm経由でインストールしたRocket.Chatをリストアする方法に関してご紹介します。

★Rocket.Chatのリストア方法をご紹介する流れ★
ステップ1:リストア検証に利用するRocket.Chatの状態について
ステップ2:Rocket.Chatでリストアするべき資材について
ステップ3:Rocket.Chatの設定ファイルをリストアする方法
ステップ4:Rocket.Chatのデータをリストアする方法
ステップ5:リストアされたRocket.Chatの動作確認


上記の流れで、Rocket.Chatのリストア方法をご紹介します。

上記の各ステップは、以下の環境で動作確認済みです。
動作確認済み環境:CentOS Linux release 7.7.1908 (Core)


それでは、以降で各ステップに関してご紹介します。

ステップ1:リストア検証に利用するRocket.Chatの状態について

リストア検証に利用するRocket.Chatの状態についてご紹介します。

リストア検証に利用するRocket.Chatの状態は、以下の通りです。

★リストア検証に利用するRocket.Chatの状態★
・npm経由でインストールしたもの
・チャンネルを作成した状態(下図参照)
・チャンネル内でテキストを投稿した状態(下図参照)
・チャンネル内で画像を投稿した状態(下図参照)


上記のRocket.Chatを初期化し、以降のリストア検証に利用します。

以降で、Rocket.Chatを初期化する方法をご紹介します。

準備①:リストア検証で利用するRocket.Chatのバックアップ

まずは、以下の記事を参照し、Rocket.Chatをバックアップしましょう。

既にRocket.Chatをバックアップ済みである方は、本手順を省略してください。

準備②:リストア検証で利用するRocket.Chatの初期化

リストア検証で利用するRocket.Chatを初期化(ユーザーや投稿されたテキストがない状態)するために、以下のコマンドをRocket.Chatを起動しているサーバで実行します。

# systemctl stop  rocketchat
# mongo
rs01:PRIMARY> show databases;
admin       0.078GB
config      0.078GB
local       1.078GB
rocketchat  0.078GB
rs01:PRIMARY> use rocketchat;
rs01:PRIMARY> db.dropDatabase();
rs01:PRIMARY> show databases;
admin   0.078GB
config  0.078GB
local   1.078GB
rs01:PRIMARY> ★Ctrl + cで終了★


上記のように「show databases;」で「rocketchat」が表示されなければ、Rocket.Chatの初期化は完了です。

初期化された状態でRocket.Chatを起動しアクセスした場合、以下のようにセットアップウィザード画面が表示されます。

Rocket.Chatを起動(systemctl start rocketchat)した場合、自動でMongoDBに「rocketchat」のデータベースが作成されます。
後工程で影響があるので、先ほどの手順で、再度「rocketchat」を削除しましょう。


以上で、「ステップ1:リストア検証に利用するRocket.Chatの状態について」は完了です。

ステップ2:Rocket.Chatでリストアするべき資材について

Rocket.Chatでリストアするべき資材について関してご紹介します。

Rocket.Chatでリストアするべき資材は、以下となります。

★Rocket.Chatでリストアするべき資材について★
・MongoDB内のデータ(投稿テキストや投稿画像が保存されている)
・MongoDBの設定ファイル(MongoDBの起動に必要)
・Rocket.Chatの設定ファイル(Rocket.Chatの起動に必要)


上記の3つがRocket.Chatのリストアに必要です。

以上が、「ステップ2:Rocket.Chatでリストアするべき資材について」となります。

ステップ3:Rocket.Chatの設定ファイルをリストアする方法

「Rocket.Chatの設定ファイル」と「MongoDBの設定ファイル」をリストアする方法をご紹介します。

以下のコマンドをRocket.Chatがインストールされたサーバで実行します。

# systemctl stop mongod
# cp /root/tmp/db_backup/mongod.conf /etc/mongod.conf
# cp /root/tmp/db_backup/rocketchat.service /lib/systemd/system/rocketchat.service
# systemctl start mongod


以上で、「ステップ3:Rocket.Chatの設定ファイルをリストアする方法」は完了です。

ステップ4:Rocket.Chatのデータをリストアする方法

Rocket.Chatのデータをリストアする方法をご紹介します。

以下のコマンドをRocket.Chatがインストールされたサーバで実行します。

# ls -1 /root/tmp/db_backup/rocketchat | head
_raix_push_app_tokens.bson
_raix_push_app_tokens.metadata.json
instances.bson
instances.metadata.json
meteor_accounts_loginServiceConfiguration.bson
meteor_accounts_loginServiceConfiguration.metadata.json
meteor_oauth_pendingCredentials.bson
meteor_oauth_pendingCredentials.metadata.json
meteor_oauth_pendingRequestTokens.bson
meteor_oauth_pendingRequestTokens.metadata.json
# mongorestore -d rocketchat /root/tmp/db_backup/rocketchat
・
・
・
2020-12-19T18:31:01.677+0900 restoring indexes for collection rocketchat.rocketchat_webdav_accounts from metadata
2020-12-19T18:31:01.678+0900 finished restoring rocketchat.rocketchat_webdav_accounts (0 documents)
2020-12-19T18:31:01.678+0900 done


上記のように末尾に「done」が表示された場合、正常にRocket.Chatのデータがリストアできたことになります。

以上で、「ステップ4:Rocket.Chatのデータをリストアする方法」は完了です。

ステップ5:リストアされたRocket.Chatの動作確認

最後にリストアされたRocket.Chatの動作を確認しましょう。

Rocket.Chatのログイン画面にアクセスしましょう。


Rocket.Chatにログイン後、以下のようにRocket.Chat初期化前の状態に戻っていれば、リストア成功です。


上図のように「チャンネル内に投稿したテキストと画像」もリストアされます。

Webブラウザのキャッシュが残存している場合、Rocket.Chatのセットアップウィザード画面に飛ばされることがあります。
その場合、ウェブブラウザのシークレットモードでRocket.Chatにアクセスしましょう。


以上で、「ステップ5:リストアされたRocket.Chatの動作確認」は完了です。

以上が、Rocket.Chatを5ステップでリストアする方法でした。

本記事で紹介するRocket.Chatリストア方法の注意点

本記事で紹介したRocket.Chatリストア方法の注意点に関してご紹介します。

本記事で紹介したRocket.Chatリストア方法は、以下の場合に利用できます。

・「バックアップ元のRocket.Chatのバージョン」と「リストア先のRocket.Chatのバージョン」が同一であること
・「バックアップ元のRocket.Chatのバージョン」と「リストア先のRocket.Chatのバージョン」で互換性があること


本記事で紹介したRocket.Chatリストア方法は、以下の場合で利用できない可能性があります。

「バックアップ元のRocket.Chatのバージョン」と「リストア先のRocket.Chatのバージョン」で互換性がないこと
例)ユーザー情報を格納したスキーマーが「users」から「user」に変更されたなど


以上が、「本記事で紹介するRocket.Chatリストア方法の注意点」となります。

【まとめ】Rocket.Chatを5ステップでリストアする方法

今回の記事を通して、「Rocket.Chatを5ステップでリストアする方法」をご紹介することで、以下の悩みを解消しました。

★悩み★
・Rocket.Chatをリストアする方法が分からない。
・Rocket.Chat内のチャット情報をリストアできるのだろうか。
・Rocket.Chat内でアップロードした画像はリストアできるのだろうか。


Rocket.Chatでリストアする方法は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。

コメント

タイトルとURLをコピーしました