Windowsサーバー用 データのバックアップ・リストア

ChatLuck PostgreSQL版のWindowsサーバー用のバックアップとリストアについて説明します。

ChatLuckのデータは、大きく分けて3つに分類されます。


①ChatLuck利用時に作成される一時ファイル
(インストール先の「data」フォルダ)
②各機能にて添付するファイルデータ
(インストール先の「file」フォルダ)
③各機能で登録する添付ファイル(②)以外のデータ
(PostgreSQLのデータベース内に保存)




このうち、バックアップしていただく必要があるデータは、②~③となります。
※①のバックアップは不要です。

【注意1】

これらのデータはそれぞれ密接に関連付けられています。
完全性を保った形でのバックアップを取得する為には、一時的にChatLuckのサービスを停止し、データの更新が行われない状態でバックアップを行う必要があります。(オフラインバックアップ)

  • 常駐しているスケジューラーを停止
  • Webサーバーを停止 (ユーザーからのアクセスをすべて遮断)
  • リアルタイムサーバーを停止
  • バックアップを取得
  • リアルタイムサーバー再開
  • Webサーバー再開

なお、上記のようにWebサービスを停止せずにバックアップを取得(オンラインバックアップ)することも可能ですが、推奨はしておりません。
スケジューラーは自動的に起動するので、明示的に起動する必要はありません。
ファイルの更新処理中にバックアップが行われた場合など、一部ファイルのバックアップに失敗した場合に、そのバックアップデータからリストアを行うと、以下のような問題が発生する可能性があります。
  • 添付ファイルを開けなくなる
  • 添付ファイルが0バイトになる 等

上記リスクを理解の上、オンラインバックアップを検討される場合は、以下も参考にしてください。
  • バックアップ失敗のリスクを減らすため、可能な限りアクセスのない時間帯に計画します。
  • 安全の為、直近数回分のバックアップデータを保全するようにします。
  • サーバーメンテナンス時等、定期的なオフラインバックアップの取得も運用計画に組み込みます。

【注意2】

恐れ入りますが、部分的なユーザーや機能単位のバックアップ・リストアは行えません。


1.データのバックアップ



①各機能にて添付するファイルデータ
(インストール先の「file」フォルダ)
②各機能で登録する添付ファイル(①)以外のデータ
(PostgreSQLのデータベース内に保存)

のデータをバックアップします。

本手順は以下を前提に説明いたします。
  • ChatLuckのインストール先:「C:\inetpub\scripts\chatlk」
  • PostgreSQLのインストール先:「C:\Program Files\PostgreSQL\xx
  • バックアップ先:「C:\neo\backup」※バックアップ先は任意のフォルダに変更可能です。
  • ※xxにはご利用のChatLuckバージョンに合わせたものを記述してください。
      V4.5 R1.0以降      :  13
      V4.0 R1.0 ~ V4.0 R2.0 :  11
      V3.7 R1.0以前      : 9.6           

【1】常駐しているスケジューラーを停止

起動しているスケジューラーを停止してください。

[停止コマンド例]
 > taskkill /F /IM chatBatScheduler.exe

※スケジューラーを停止せずにバックアップを取得(オンラインバックアップ)することも可能ですが、バックアップのタイミングによっては失敗したり、データ不整合が生じたりする可能性がある為推奨はしておりません。

【2】Webサーバーを停止

Webサーバーを停止してください。

[Webサーバー(IIS)停止コマンド例]
 > net stop w3svc

※Webサーバーを停止せずにバックアップを取得(オンラインバックアップ)することも可能ですが、バックアップのタイミングによっては失敗したり、データ不整合が生じたりする可能性がある為推奨はしておりません。

【3】リアルタイムサーバーを停止

ChatLuck V4.5 R1.0 以降の場合
リアルタイムサーバーを停止してください。

[リアルタイムサーバーの停止コマンド例]
 > net stop chatluckws


ChatLuck V4.0 R2.0 以前の場合
リアルタイムサーバーとRedisを停止してください。

[リアルタイムサーバーとRedisの停止コマンド例]
 > net stop ChatLuck
 > net stop Redis

※リアルタイムサーバーを停止せずにバックアップを取得(オンラインバックアップ)することも可能ですが、バックアップのタイミングによっては失敗したり、データ不整合が生じたりする可能性がある為推奨はしておりません。

【4】バックアップを取得

4-1.PostgreSQLデータベースのバックアップ

①各機能で登録する添付ファイル以外のデータ
 (PostgreSQLのデータベース内に保存)
をPostgreSQLの「pg_dump」コマンドでバックアップします。

まず、Windows付属のコマンドプロンプトを起動し、PostgreSQLのインストール先にある「bin」フォルダに移動します。
次に、以下のコマンドにてデータベースファイルをダンプします。

[データベースバックアップコマンド例]
> cd C:\Program Files\PostgreSQL\xx\bin
> pg_dump.exe -b -Fc -p 5432 -U postgres chatlkdb > C:\neo\backup\chatlkdb.pgdmp
> pg_dump.exe -b -Fc -p 5432 -U postgres chatladdb > C:\neo\backup\chatladdb.pgdmp

※xxにはご利用のChatLuckバージョンに合わせたものを記述してください。
  V4.5 R1.0以降      :  13
  V4.0 R1.0 ~ V4.0 R2.0 :  11
  V3.7 R1.0以前      : 9.6                
※「パスワード」の入力要求が表示された場合は"postgres"ユーザーのパスワードを入力します。(ChatLuckのインストーラーでPostgreSQLをインストールした場合は、パスワードは"postgres"となります。)
※「-p 5432」は、稼働しているPostgreSQLサーバーのポート番号を指定してください。
 不明な場合は、「C:\inetpub\scripts\chatlk\rserver\config\default.json」の内容を確認してください。

4-2.添付ファイルデータのバックアップ

①各機能にて添付するファイルデータ
(インストール先の「file」フォルダ)

「file」フォルダをコピーコマンド等でバックアップしてください。

※サーバーにバックアップソフトやファイル圧縮・解凍ツール等をインストールしてお使いの場合、そちらをお使いいただいても問題ありません。

[コピーコマンド例(xcopy)]
> xcopy C:\inetpub\scripts\chatlk\file C:\neo\backup\file /e /c /h /i /y

[コピーコマンド例(robocopy)]
> robocopy C:\inetpub\scripts\chatlk\file C:\neo\backup\file /MIR /Z /FFT /R:3 /W:10 /NP

※オプション等の詳細はOS付属のマニュアルをご参照ください。

【5】リアルタイムサーバーを再開

ChatLuck V4.5 R1.0 以降の場合
リアルタイムサーバーを開始してください。

[リアルタイムサーバーの開始コマンド例]
 > net start chatluckws


ChatLuck V4.0 R2.0 以前の場合
Redisとリアルタイムサーバーを開始してください。

[Redisとリアルタイムサーバーの開始コマンド例]
> net start Redis
> net start ChatLuck


【6】Webサーバーを再開

Webサーバーを開始してください。

[Webサーバー(IIS)開始コマンド例]
> net start w3svc


以上でバックアップは終了です。
※バックアップ等を自動化されたい場合は、上記コマンドをbatファイル化し、そのbatファイルをタスクスケジューラー等で定期的に実行するように設定してください。



2.データのリストア



データをリストアし、ChatLuckをバックアップした時点に戻す場合、元のデータを削除いただく必要あります。

【注意1】
本手順は、正常にバックアップが取得できていることが前提の手順となります。
不完全なバックアップデータですと、正常にChatLuckがご利用いただけなくなりますのでご注意ください。

【注意2】
バックアップ時点と、現在お使いのChatLuckのバージョン(リビジョン)が異なる場合、一度、インストールされているChatLuckをアンインストールし、インストール先フォルダ(通常、「chatlk」フォルダ)を削除してください。
その後、再度、データのバックアップを取った時点でのChatLuckと同じバージョンをインストールしてください。

【注意3】
データのリストアを行われるサーバが、バックアップを行ったサーバと異なる場合、ライセンスキーの再申請が必要となります。
ChatLuck製品サイトのサポート>ライセンスキー申請から申請ください。
ChatLuckサポート

【1】リアルタイムサーバーを停止

ChatLuck V4.5 R1.0 以降の場合
リアルタイムサーバーを停止してください。

[リアルタイムサーバーの停止コマンド例]
 > net stop chatluckws


ChatLuck V4.0 R2.0 以前の場合
Redisとリアルタイムサーバーを開始してください。

[リアルタイムサーバーとRedisの停止コマンド例]
 > net stop ChatLuck
 > net stop Redis


【2】PostgreSQLデータベースのリストア

まず、Windows付属のコマンドプロンプトを起動し、PostgreSQLのインストール先にある「bin」フォルダに移動します。
次に、以下のコマンドにてデータベースを削除し、データべースファイルをリストアします。

[データベースリストアコマンド例]
> cd C:\Program Files\PostgreSQL\xx\bin
> dropdb.exe -p 5432 -U postgres chatlkdb
> dropdb.exe -p 5432 -U postgres chatladdb
> pg_restore.exe -p 5432 -U postgres -C -Fc -d template1 C:\neo\backup\chatlkdb.pgdmp
> pg_restore.exe -p 5432 -U postgres -C -Fc -d template1 C:\neo\backup\chatladdb.pgdmp

※xxにはご利用のChatLuckバージョンに合わせたものを記述してください。
  V4.5 R1.0以降      :  13
  V4.0 R1.0 ~ V4.0 R2.0 :  11
  V3.7 R1.0以前      : 9.6                
※必ず「dropdb.exe」でchatlkdbとchatladdbの削除を行ってください。
 削除されないと不整合が発生し予期しない動作をする場合がありますのでご注意ください。
※「パスワード」の入力要求が表示された場合は"postgres"ユーザーのパスワードを入力します。(ChatLuckのインストーラーでPostgreSQLをインストールした場合は、パスワードは”postgres”となります。)
※「-p 5432」は、稼働しているPostgreSQLサーバーのポート番号を指定してください。
 不明な場合は、「C:\inetpub\scripts\chatlk\rserver\config\default.json」の内容を確認してください。


【3】添付ファイルデータのリストア

3-1.インストール先の「file」フォルダを削除します。

※必ず「file」フォルダの削除を行ってください。
 削除されないと不整合が発生し予期しない動作をする場合がありますのでご注意ください。

3-2.バックアップした「file」フォルダをインストール先に戻します。

【4】リアルタイムサーバーを再開

ChatLuck V4.5 R1.0 以降の場合
リアルタイムサーバーを開始してください。

[リアルタイムサーバーの開始コマンド例]
 > net start chatluckws


ChatLuck V4.0 R2.0 以前の場合
Redisとリアルタイムサーバーを開始してください。

[Redisとリアルタイムサーバーの開始コマンド例]
> net start Redis
> net start ChatLuck



以上でリストアは終了です。

 

システムの保守(データベースの最適化)と運用(データのバックアップとリストア)に戻る

 

記載の製品名および商品名は、各社の商標、または登録商標です。