データのバックアップおよびリストアの方法【Windowsサーバー - PostgreSQL対応版】

データのバックアップおよびリストアの方法【Windowsサーバー - PostgreSQL対応版】

該当製品:パッケージ版
質問ID:NEO-T0064
対象:全バージョン

desknet’s NEOのデータは、大きく分けて4つに分類されます。

① desknet’s NEO利用時に作成される一時ファイル(インストール先の「data」フォルダ)
② 各機能にて添付するファイルデータ(インストール先の「file」フォルダ)
③ 「ウェブメール」機能で保存されるメールデータ(インストール先の「wmldata」フォルダ)
④ 各機能で登録する添付ファイル(②)およびメールデータ(③)以外のデータ(PostgreSQLのデータベース内に保存)

※このうち、バックアップする必要があるデータは②③④です。①のバックアップは不要です。


注意1

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

1. 常駐しているスケジューラーを停止
2. Webサーバーを停止(ユーザーからのアクセスをすべて遮断)
3. バックアップを取得
4. Webサーバーおよびスケジューラーを再開

なお、Webサービスを停止せずにバックアップを取得(オンラインバックアップ)することも可能ですが、推奨しておりません。ファイルの更新処理中にバックアップが行われ一部ファイルのバックアップに失敗した場合に、そのバックアップデータからリストアを行うと、以下のような問題が発生する可能性があります。
添付ファイルを開けなくなる、または0バイトになる
メールを開けなくなる 等
上記のリスクを理解のうえ、オンラインバックアップを検討する場合は、以下もご参考ください。
バックアップ失敗のリスクを減らすため、可能な限りアクセスのない時間帯に計画します。
安全のため、直近数回分のバックアップデータを保全するようにします。
サーバーメンテナンス時等、定期的なオフラインバックアップの取得も運用計画に組み込みます。

注意2

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

注意3

desknet’s NEO V2.0より、データベースのバックアップ/リストア対象に「dneoftsdb」が追加されました。
desknet’s NEO V4.0より、データベースのバックアップ/リストア対象に「dneologdb」が追加されました。


データのバックアップ

以下のデータをバックアップします。
② 各機能にて添付するファイルデータ(インストール先の「file」フォルダ)
③ 「ウェブメール」機能で保存されるメールデータ(インストール先の「wmldata」フォルダ)
④ 各機能で登録する添付ファイル(②)およびメールデータ(③)以外のデータ(PostgreSQLのデータベース内に保存)

本手順は以下を前提に説明いたします。
desknet’s NEOのインストール先 : C:\inetpub\scripts\dneo
PostgreSQLのインストール先 : C:\Program Files\PostgreSQL\13
バックアップ先 : C:\neo\backup
※バックアップ先は任意に指定が可能です。事前にフォルダを作成してください。

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

スケジューラーを起動している場合、スケジューラーを停止します。
停止コマンド例
Copied!
> taskkill /F /IM zbatscheduler.exe
※スケジューラーを停止せずにバックアップを取得(オンラインバックアップ) することも可能です。ただし、バックアップのタイミングによっては、失敗したり、データ不整合が生じたりする可能性があります。そのため推奨しておりません。

2. Webサーバーを停止

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

3. バックアップを取得

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

④各機能で登録する添付ファイルおよびメールデータ以外のデータ(PostgreSQLのデータベース内に保存)を、PostgreSQLの「pg_dump」コマンドでバックアップします。
Windows付属のコマンドプロンプトを起動し、PostgreSQLのインストール先の「bin」フォルダに移動します。
次に、以下のコマンドにてデータベースファイルをダンプします。
データベースバックアップコマンド例
Copied!
> C:
> cd C:\Program Files\PostgreSQL\13\bin
> pg_dump.exe -b -Fc -p 5432 -U postgres dneodb > C:\neo\backup\dneodb.pgdmp
> pg_dump.exe -b -Fc -p 5432 -U postgres dneoftsdb > C:\neo\backup\dneoftsdb.pgdmp
> pg_dump.exe -b -Fc -p 5432 -U postgres dneologdb > C:\neo\backup\dneologdb.pgdmp
※PostgreSQL9.6または9.2/9.3をご利用の場合、上記コマンドの「13」を「9.6」 「9.2」「9.3」等に読み替えてください。
※-pは稼働しているPostgreSQLのポート番号を指定してください。(PostgreSQLの初期使用ポートは5432)
V6.0以前のバージョンからアップデートしている場合や、別のバージョンのPostgreSQLをインストールしている場合は「-p 5433」「-p 5434」等とポート番号が変わっている場合があります。
現在利用中のdesknet's NEOで利用しているPostgreSQLのポート確認は「.\dneo\data\app」ファイルをテキストエディタで開き「dbport=」の値をご確認ください。詳細はdesknet's NEOおよびPostgreSQLを構築したシステム担当者または業者様にご確認ください。
※「パスワード」の入力要求が表示された場合は、”postgres”ユーザーのパスワードを入力します。(desknet’s NEOのインストーラーでPostgreSQLをインストールした場合は、パスワードは”postgres”です。)
※desknet’s NEO V2.0より、データベースのバックアップ対象に「dneoftsdb」が 追加されました。
※desknet’s NEO V4.0より、データベースのバックアップ対象に「dneologdb」が 追加されました。

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

以下のデータをバックアップします。
② 各機能にて添付するファイルデータ(インストール先の「file」フォルダ)
③ 「ウェブメール」機能で保存されるメールデータ(インストール先の「wmldata」フォルダ)

「file」「wmldata」 フォルダを、コピーコマンド等でバックアップします。
※サーバーにバックアップソフトやファイル圧縮・解凍ツール等をインストールしている場合、そちらを使っても問題ありません。
コピーコマンド例(xcopy)
Copied!
> xcopy C:\inetpub\scripts\dneo\file C:\neo\backup\file /e /c /h /i /y
> xcopy C:\inetpub\scripts\dneo\wmldata C:\neo\backup\wmldata /e /c /h /i /y
コピーコマンド例(robocopy)
Copied!
> robocopy C:\inetpub\scripts\dneo\file C:\neo\backup\file /MIR /Z /FFT /R:3 /W:10 /NP
> robocopy C:\inetpub\scripts\dneo\wmldata C:\neo\backup\wmldata /MIR /Z /FFT /R:3 /W:10 /NP
※オプション等の詳細は、OS付属のマニュアルをご参照ください。

4. Webサーバーおよびスケジューラーを再開

Webサーバーを開始します。
Webサーバー(IIS)開始コマンド例
Copied!
> net start w3svc
※スケジューラーは、Windows付属の管理ツール→「タスクスケジューラー」で設定された時間に自動起動します。

※バックアップ等を自動化したい場合は、上記コマンドをbatファイル化し、そのbatファイルをタスクスケジューラ等で定期的に実行するように設定してください。その際は、batファイルの上部に「SET PGPASSWORD=postgres」のように予め環境変数を設定することで、batの実行時にPostgreSQLのパスワード確認のため処理が止まる事象を回避することができます。



データのリストア

データをリストアし、desknet’s NEOをバックアップした時点に戻す場合、元のデータを削除する必要があります。

注意1

本手順は、正常にバックアップが取得できていることが前提の手順です。バックアップデータが不完全な場合、正常にdesknet’s NEOがご利用いただけませんので、ご注意ください。

注意2

バックアップした時点と、現在お使いのdesknet’s NEOのバージョン(リビジョン)が異なる場合、一度、インストールしているdesknet’s NEOをアンインストールし、インストール先フォルダ(通常、「dneo」ディレクトリ)を削除してください。その後、再度、データのバックアップを取った時点のdesknet’s NEOと同じバージョンをインストールしてください。

注意3

データのリストアを行うサーバーが、バックアップを行ったサーバーと異なる場合、ライセンスキーの再申請が必要です。

1. PostgreSQLデータベースのリストア

Windows付属のコマンドプロンプトを起動し、PostgreSQLのインストール先にある「bin」フォルダに移動します。
以下のコマンドでデータベースを削除し、データべースファイルをリストアします。
データベースリストアコマンド例
Copied!
> C:
> cd C:\Program Files\PostgreSQL\13\bin
> dropdb.exe -p 5432 -U postgres dneodb
> dropdb.exe -p 5432 -U postgres dneoftsdb
> dropdb.exe -p 5432 -U postgres dneologdb
> pg_restore.exe -p 5432 -U postgres -C -Fc -d template1 C:\neo\backup\dneodb.pgdmp
> pg_restore.exe -p 5432 -U postgres -C -Fc -d template1 C:\neo\backup\dneoftsdb.pgdmp
> pg_restore.exe -p 5432 -U postgres -C -Fc -d template1 C:\neo\backup\dneologdb.pgdmp
※PostgreSQL9.6または9.2/9.3をご利用の場合、上記コマンドの「13」を「9.6」 「9.2」「9.3」等に読み替えてください。
※-pは稼働しているPostgreSQLのポート番号を指定してください。(PostgreSQLの初期使用ポートは5432)
V6.0以前のバージョンからアップデートしている場合や、別のバージョンのPostgreSQLをインストールしている場合は「-p 5433」「-p 5434」等とポート番号が変わっている場合があります。
現在利用中のdesknet's NEOで利用しているPostgreSQLのポート確認は「.\dneo\data\app」ファイルをテキストエディタで開き「dbport=」の値をご確認ください。詳細はdesknet's NEOおよびPostgreSQLを構築したシステム担当者または業者様にご確認ください。
※必ず「dropdb.exe」コマンドでdneodb / dneoftsdbを削除してください。削除しないと不整合が発生し、予期しない動作をする場合があります。
※「パスワード」の入力要求が表示された場合は、”postgres”ユーザーのパスワードを入力します。(desknet’s NEOのインストーラーでPostgreSQLをイン ストールした場合は、パスワードは”postgres”です。)
※desknet’s NEO V2.0より、データベースのリストア対象に「dneoftsdb」が 追加されました。
※desknet’s NEO V4.0より、データベースのリストア対象に「dneologdb」が 追加されました。

2. 添付ファイルデータ・メールデータのリストア

2-1. インストール先の「file」、「wmldata」フォルダを削除します。
※必ず「file」と「wmldata」フォルダを削除してください。 削除しないと不整合が発生し、予期しない動作をする場合があります。

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

※リストア後にdesknet’s NEOのレスポンスが低下する場合は、データベース(PostgreSQL)の最適化を実施してください。
Powered by Helpfeel