ワークシート行レコードのログのアーカイブ手順
MongoDBのmdworksheetlogデータベースにおける継続的なストレージ増加の負担を軽減するため、ワークシート行レコードのログをアーカイブし、新しいMongoDBインスタンスへ保存できます。アーカイブ済みの履歴ログは、ページ上で引き続き閲覧可能です。
アーカイブ構成手順
-
アーカイブ用MongoDBインスタンスの事前デプロイ
- MongoDBデプロイドキュメント(シングルノード)をご参照ください。
-
ミラーイメージのダウンロード(オフラインパッケージダウンロード)
docker pull nocoly/archivetools:1.0.7 -
下記のような内容で
config.json構成ファイルを作成[{"id": "1","text": "説明文","start": "2022-12-31 16:00:00","end": "2023-12-31 16:00:00","src": "mongodb://root:password@192.168.1.20:27017/mdworksheetlog?authSource=admin","archive": "mongodb://root:password@192.168.1.30:27017/mdworksheetlog_archive_2023?authSource=admin","table": "wslog*","delete": true,"batchSize": 500,"retentionDays": 0,"concurrencyLimit": 100}]-
上記形式に従い、必要に応じてデータテーブルの設定やアーカイブ範囲を調整・追加してください。
-
注意:構成ファイルに記載する時刻は協定世界時(UTC)です。
- UTC: 2023-05-31 16:00:00 → UTC+8(中国標準時): 2023-06-01 00:00:00(8時間加算)
- UTC: 2023-06-30 16:00:00 → UTC+8(中国標準時): 2023-07-01 00:00:00(8時間加算)
パラメータ説明:
パラメータ 説明 id タスク識別ID text 説明文 start アーカイブデータの開始時刻(UTC)。retentionDays > 0の場合は無効。対象はこの時刻以上。 end アーカイブデータの終了時刻(UTC)。retentionDays > 0の場合は無効。対象はこの時刻未満。 src ソースデータベースの接続アドレス archive アーカイブ先データベースの接続アドレス。空欄時はアーカイブせず、削除のみ実施 table データテーブル名 delete true固定。アーカイブ後に検証件数が正しければソースDBの対象データを削除 batchSize 1バッチごとの処理件数 retentionDays 0がデフォルト。0より大きい場合、X日前のデータを定期削除。start/endは無効、24時間ごと自動実行 concurrencyLimit 並列処理上限。通常は100で維持 -
-
config.jsonファイルを配置したディレクトリで、アーカイブサービスを起動docker run -d -it -v $(pwd)/config.json:/usr/local/MDArchiveTools/config.json -v /usr/share/zoneinfo/Etc/GMT-8:/etc/localtime nocoly/archivetools:1.0.7
その他事項:
- リソース使用量:実行中はソースDB・アーカイブDB・実行端末に一定の負荷がかかります。業務の閑散時間帯での実行を推奨します。
- ログの確認方法:
- バックグラウンド実行(デフォルト):
docker ps -aでコンテナID確認後、docker logs <コンテナID>で確認。 - フォアグラウンド実行:
-d
- バックグラウンド実行(デフォルト):