TWSNMP FC: データベースのバックアップリストア機能
今日も雨です。猫は朝4時からベランダに出たいと騒いでいました。雨水を舐めて満足したようで今は寝ています。
フィードバックの質問をきっかけにデータベースのバックアップとリストア機能を見直して3日かけてなんとか完成させました。
本題の復刻版TWSNMPのデータベースをTWSNMP FCで読み込ませる実験をしてみました。
残念ながらエラーで起動しませんでした。
フィードバックでいただいた質問を誤解していたようです。
復刻版ではなくTWSNMP FCのWindowsなどのデスクトップで動作させた時のデータベースをDockerのコンテナで使う方法だったようです。
これはコンテナ内の/datastore/twsnmpfc.dbへコピーすればできます。
しかし、稼働中のTWSNMP FCのコンテナにコピーすると開いた状態にデータベースファイルに上書きすることになるのでよくありません。alpineなどの他のLinuxのイメージでコンテナを作って/datastoreをマウントしてコピーするようなことが必要です。
そこで、データベースファイルを移動する方法にも使えるリストア機能を作りました。
まずは、空のデータベースで起動します。
この状態でバックアップのディレクトリを作成します。
このバックアップのディレクトリに使いたいデータベースファイルをコピーします。稼働中のデータベースファイルではないので上書きにはなりません。
一度、コンテナを停止します。
リストアコマンドでデータベースファイルを入れ替えます。リストアコマンドはデータベースを開かずに入れ替えるだけです。
この後、コンテナを起動すれば、コピーしたデータベースファイルで起動します。
バックアップも/datastore/backupに保存するので、
のコマンドで確認できます。リストアコマンドのパラメータにバックアップファイルの名前を指定すれば指定したデータベースファイルに戻すことができます。リストアする前に使っていたデータベースファイルは、バックアップに移動するので間違っても戻すことができます。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。