★悩み★
・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でリストアする方法は?」で悩んでいるあなたにこの記事が少しでも役に立てれば幸いです。
コメント