バックアップ

動かしたまま取る構成のひとまとめの保存、保存済みのパスワードを別のコンピューターへ持っていくエクスポート、その場ではなく次の起動に予約される復元、そして実行履歴の索引の再構築です。

Markdown で表示

バックアップは、設定のページのデータの組のただ 1 つの行です。このカードは、すべてを動かしたままステーションの構成の写しを取り、保存済みのパスワードも一緒に別のコンピューターへ持っていく 1 つのファイルを書き出し、持っているものを並べ、その写しの 1 つを次の起動で構成と置き換えるよう予約し、その一覧が正しくなく見えるときに、記録された実行の索引を作り直します。カードは「アプリの構成(機器、タグ、ロジック、ダッシュボード、設定、そしてライブラリの画像、アイコン、シンボル)をひとまとめに保存して、元に戻せるようにします。記録した実行記録とその履歴は別に保存され、バックアップや復元の影響を受けません。」から始まります。このページには 設定の変更 の権限が要ります。

バックアップに何が入るか

バックアップは、構成のデータベースを動かしたまま取った写しです。SQLite のバックアップの仕組みで取るので、アプリが書き込んでいる間でも一貫しています(先行書き込みのログも含みます)。そのデータベースが持つものすべてが入ります。ドライバーの機器とタグ、Logic のアドレス空間(保持する値を持つ変数、アクション、トリガー、警報)、ダッシュボード、Process のモデル、ユニット、手順、レシピ、判定、テンプレート、ローカルユーザーとロール、OPC UA サーバーの構成、そしてこのページの設定です。データベースのファイルの隣に、ステーションは利用者の素材のフォルダー(ライブラリの画像、アイコン、シンボル)を兄弟のフォルダーへ写すので、復元は写真も連れ戻します。任意のメモは、脇のファイルに入ります。

ファイルは、ステーションのデータの根の backups のフォルダーにあります。config-20260902-141500.db(その秒がすでに使われていれば -2 の接尾が付きます)、config-20260902-141500.assets、そして config-20260902-141500.db.note.json です。エクスポートはその隣に置かれる 1 つのファイル、config-export-20260902-141500.glabconfig です。

バックアップに、記録された実行記録とそのファイル、実行履歴の索引、永続するイベントの記録簿、クラッシュの印、ログのファイル、ウィンドウの位置と表示倍率、アカウントのトークンの保管、OPC UA サーバーの証明書の保管が入ることはありません。データベースの中の資格情報(機器の秘密、OPC UA サーバーのパスワード)は、それを入力した Windows のユーザーと機械に結び付いた暗号文として保存されます。ですから、よそで開いたバックアップは構成の全体を復元しますが、それらはどれも未設定として読まれ、もう一度入力することになります。それらを一緒に持っていける唯一のファイルが、下のエクスポートです。

バックアップを作る

何であるか 値と既定 効き方
メモ ボタンの隣の欄で、「バックアップまたはエクスポートと一緒に保存する任意のメモ」です。 200 文字までです。既定は空で、バックアップやエクスポートのたびに消えます。 バックアップではメモの脇のファイルに、エクスポートではその見出しの中に書かれ、そのファイルの行の下に出ます。
コマンド 何をするか 灰色になるとき(状況) 描かれないとき(ロール)
フォルダーを開く バックアップのフォルダーをエクスプローラーで開き、なければ作ります。この求めに答えるのはステーションのウィンドウ自身で、この導入にある実在のフォルダーにだけ答えます。それ以外は「これは、このステーションが開くフォルダーではありません。何も開いていません。」と伝えます。フォルダーが導入の外にあるときも、単に無いときも、同じ言葉なので、答えは尋ねた側がまだ知らないことを何も明かしません。Windows が開けないフォルダーは「オペレーティングシステムが開けませんでした。」と伝えます。 別の端末のブラウザーでは「ステーションのデスクトップでのみ利用できます。」 ありません。
バックアップを作成 ひとまとめの保存を取り、そのあとステータスバーで「バックアップ「config-….db」を作成しました。」または「バックアップに失敗しました:…」と伝えます。 別のバックアップのコマンドが動いている間(カードが薄くなります)。 ありません。

バックアップを作ることは、読み取りだけのエンジニアリングの作業です。ユニットが動いている間も走り、構成の変更と重なることは決してありません。ランタイムが止まっている間、このページはそもそも描かれないので(設定 を参照)、ランタイムが戻るまでバックアップのコマンドには届きません。構成のデータベースがまだ存在しないステーションは、「構成のデータベースはまだ存在しません。」で拒否されます。

別のコンピューター向けのエクスポート

バックアップのボタンの下に、自分の見出しを持つ 2 つ目のまとまり、別のコンピューター向けのエクスポートがあり、それが在る理由から始まります。「バックアップには、保存済みのパスワードが入りません。機器のパスワードと OPC UA サーバーのパスワードは、このコンピューターのこの Windows アカウントでしか開けないためです。エクスポートはそれらも含む 1 つのファイルで、ここで決めたパスワードで封をするので、新しいコンピューターがステーションをそのまま引き継げます。そのパスワードは安全な場所に保管してください。ファイルを開けるのはそれだけで、ここから取り戻すことはできません。」

何であるか 値と既定 効き方
エクスポートのパスワード ファイルに封をするパスワードで、そのあとファイルを開けられる唯一のものです。 8 文字以上です。既定は空で、エクスポートのたびに消えます。 保存済みの資格情報を封じ直す鍵を、ここから導きます。パスワードはどこにも残らないので、誰も覚えていないエクスポートは誰にも開けません。このアプリにも開けません。
パスワードをもう一度入力 同じパスワードをもう一度入れて、ファイルが書かれる前に打ち間違いを見つけるためのものです。 隣の欄と同じでなければなりません。 それ自体は何もしません。2 つが違う間、エクスポートは断られたままです。

上のメモの欄は同じものです。メモはエクスポートの中にも入り、その行の下に出ます。

コマンド 何をするか 灰色になるとき(状況) 描かれないとき(ロール)
エクスポート 同じ backups のフォルダーに config-export-20260902-141500.glabconfig を 1 つ書き、「エクスポート「…」を作成しました(保存済みの資格情報 N 件)。」と伝えます。この Windows アカウントで読めなかった資格情報は、誤りの調子で別に数えられます。「エクスポート「…」を作成しました(保存済みの資格情報 N 件)。保存済みの資格情報 M 件 はこの Windows アカウントでは読み取れず、含まれませんでした。新しいコンピューターでもう一度入力してください。」 別のバックアップのコマンドが動いている間(「別のバックアップのコマンドがまだ実行中です。」)、パスワードが 8 文字より短い間(「エクスポートのパスワードは 8 文字以上にしてください。」)、そして 2 つの欄が違う間(「2 つのパスワードが一致しません。」)。 ありません。エクスポートを書くのに要るのは、このページがすでに要る 設定の変更 と同じ権限です。出来上がるファイルは、ステーションが持つ資格情報のすべてを、書いた人が決めたパスワードの下に収めたものだからです。

エクスポートは、構成のデータベースの一貫した写しと、その隣の利用者の素材と、見出しを運ぶ 1 つの書庫です。構成が守るすべての列は、出ていくときにこのコンピューターの保管庫を通して読まれ、エクスポートのパスワードで封じ直されます。見出しには塩と作業係数、そして導いた鍵で封じた定数が入っていて、正しいパスワードかどうかを見分けるにはそれで足り、それ以上は何も分かりません。どの列が旅をするかは構成そのものから読まれるので、あとから増えた資格情報も、誰かが一覧を覚えていなくても一緒に旅をします。エクスポートを書くことは、バックアップとまったく同じで読み取りだけのエンジニアリングの作業なので、ユニットが動いている間も走ります。そして記録簿に残ります。ステーションが持つすべての資格情報の写しが、たった今、保管庫を出たからです。

エクスポートは下の一覧から、その行の 復元 で戻します。すると「エクスポートから復元」とたずねます。「「…」には、それを書き出したコンピューターの構成と、そこに保存されていたパスワードが入っています。書き出したときのパスワードを入力してください。パスワードはこのコンピューターの保管庫に入り、構成はアプリを再起動したときに現在のものと置き換わります。現在の構成は先に自動で保存され、記録した実行記録は影響を受けません。」で、エクスポートのパスワード の欄が付きます。空の間、復元は断られたままです(「このエクスポートを書き出したときのパスワードを入力してください。」)。パスワードが違うときは何も書かれず、ダイアログも開いたままで、理由はステータスバーに出ます。次の一手がそこにあるようにするためです。それは、そのエクスポートを書き出したコンピューターで決めたパスワードであり、ここから取り戻すことはできません。正しいときは、エクスポートをこのコンピューターのふつうのバックアップとして開き、運ばれてきた資格情報をこのコンピューターの保管庫に入れ、そのバックアップを次の起動に予約し、「「…」を開き、そのパスワードをこのコンピューターに保存しました。構成は次回の起動時に復元されます。」と伝えます。ここから先は下に書いたふつうの復元で、一覧に残るバックアップが届いたものの記録なので、同じ復元はあとから、エクスポートもそのパスワードもなしに繰り返せます。エクスポートのファイル自体は決して変わらないので、同じファイルは 3 台目のコンピューターでも開けます。

この 2 つの半分は、どちらもエージェントのものではありません。エクスポートの道具はなく、エージェント のページからエクスポートを復元する方法もありません。パスワードは操作する人のものであり、エージェントが作ったり渡されたりしたパスワードは記録に残ってしまうからです。backup_list はエクスポートに印を付け(portableExport)、backup_restore はこのページを名指しして断ります。「'…' is a configuration export for another machine. It carries its stored passwords sealed under the password chosen when it was written, so it is restored from Settings, Backups, where that password can be typed.」

一覧

バックアップとエクスポートは 1 つの一覧を分け合い、新しい順に並びます。どちらについても問いは同じで、どれを戻すか、だからです。各行は、そのファイルが作られた日時をステーションの日付と時刻の形式で、次にそれが何であるか(バックアップ別のコンピューター向けのエクスポート か)、名前とその大きさを、そしてメモがあればメモを見せます。大きさは、そのファイルが占めているすべて、つまり削除すれば空くすべてです。バックアップならデータベースの写し、そのメモ、そして素材のひとまとめの写しで、それを使っているステーションでは画像の方が大きい半分になります。エクスポートなら、その 1 つの書庫です。一覧はページが開いたときと、ここでのコマンドのたびに読まれるので、エージェント のページを通してエージェントが作ったバックアップは、次にページを開いたときに現れます。

コマンド 何をするか 灰色になるとき(状況) 描かれないとき(ロール)
復元 バックアップでは「構成を復元」とたずねます。「「…」を、アプリの再起動時に現在の構成と置き換えるよう予約しますか? 現在の構成は先に自動で保存されます。記録した実行記録は影響を受けません。」で、はいといいえが付きます。はいで復元を予約し、「「…」は次回の起動時に復元されます。」と伝えます。エクスポートでも決めることは同じで、代わりに上で述べたダイアログでパスワードをたずねます。 ユニットが実行中のとき(「ユニットの実行中は構成がロックされます。」)。 ありません。
削除 「バックアップを削除」とたずねます。「バックアップ「…」を完全に削除しますか?この操作は元に戻せません。」はいで、データベースの写し、そのメモ、素材のひとまとめの写しを取り除き、「バックアップ「…」を削除しました。」と伝えます。エクスポートは、それが何であるかと、一緒に消えるものとで呼ばれます。「エクスポートを削除」、「エクスポート「…」を完全に削除しますか?中のパスワードも一緒になくなります。この操作は元に戻せません。」、そのあと「エクスポート「…」を削除しました。」 このページが描かれている間はありません。 ありません。

復元は、理由をステータスバーに添えて拒否されることがあります。記録が動いているとき(「記録が動いています。構成の復元を予約する前に止めてください。」)、そのファイルがそもそも構成のバックアップでないとき(「「…」は Ganter Lab の構成のバックアップではないので、復元できません。」)、そしてこのバージョンが知らないデータベース、たとえば新しいリリースが書いたものであるとき(「「…」は、このバージョンの Ganter Lab が復元できる構成のバックアップではありません。別のデータベースのもの、またはこのアプリケーションの新しいバージョンのものかもしれません。」)です。削除は、予約されているバックアップを拒みます。「「…」は復元が予約されています。先に予約を取り消してください。」どれだけ残すかはあなた次第です。ここが自分からバックアップを消すことはなく、エージェントはバックアップを作って一覧にできますが、削除することは決してできません。

復元を予約しました

予約すると、データの根に印が書かれ、カードは注意の通知バー 復元を予約しました を見せます。「「…」は、アプリを再起動したときに復元されます。現在の構成は先に自動で保存されます。」その キャンセル のボタンが印を取り除き、「予約していた復元を取り消しました。」と伝えます。アプリがもう一度起動するまで、何も変わりません。

次の起動では、構成を開くものが動く前に、アプリがそのファイルをもう一度確かめ、置き換えられる構成を config-pre-restore-<日時>.db として、メモ「「…」を復元する前に自動で取ったひとまとめの保存です。」と自分の素材の写しとともに保存し(ですから復元そのものも元に戻せます)、データベースのファイルを入れ替え、バックアップが素材の写しを持っていればそれを戻し、印を消します。再開すべき Process の実行がある起動では、代わりに先送りします。復元は「Process の実行が今の構成のまま再開しなければならないため、復元は予約されたままです。」という理由とともに予約されたまま残り、あとの起動で当たります。消えてしまったバックアップのファイルや、確かめに落ちたファイルは伝えられ、あとの起動が引っかからないように印は消されます。データベースがいったん入れ替われば、素材の写しのような後の段が失敗しても、復元は当たったものとして数えられます。その失敗は、前の画像がどこに保存されたかを名乗る警告として伝えられます。

構成を復元しました:確認が必要です

復元が当たったあと、カードは 2 つめの注意の通知バー 構成を復元しました:確認が必要です を見せます。「復元された設定、モデル、ユニット、手順、コード、カウンター、ラベルのプリンターキューを確認し、履歴を検証してください。実行記録の索引は、履歴の一覧が欠けているか食い違っているときだけ再構築してください。」閉じる を押すまで残ります。復元は、自分では何のつじつま合わせもしません。キューの名前は構成として戻りますが、Windows のプリンターが見つけ直されたり直されたりすることはなく、カウンターはバックアップが持っていたものです。

実行履歴の索引を再構築

コマンド 何をするか 灰色になるとき(状況) 描かれないとき(ロール)
再構築 「実行記録ファイルを走査して、記録済みの実行の一覧を作り直します。復元やファイルの移動のあとで履歴の一覧が欠けて見えるときに使ってください。もとになるのは実行記録ファイルそのものです。」「履歴の索引を再構築しました:復旧 N 件、削除 N 件、読み取り不能 N 件(実行記録ファイル N 件)。」と伝えます。 別のバックアップのコマンドが動いている間。 ありません。

この走査は、索引の項目のない実行記録ファイルにその項目を返し(その実行自身の固定したひとまとめの保存から、あるいは実行の途中でアプリが落ちていれば失敗した実行として)、ファイルが消えた項目を落とし、読める全ファイルから生産性の投影を作り直し、よそのものや壊れた .db は読み取り専用で見分けたうえで飛ばし、変えずに読み取り不能として数えます。そのあと、Process のページが見せる生産性のひとまとめの保存を読み直します。実行記録ファイルに記録された証跡に触れることは決してありません。

この節がしないこと

自動のバックアップも予定したバックアップもなく、どれだけ残すかの方針もなく、別の場所へのバックアップもなく(フォルダーからファイルを写してください)、一部だけの復元もなく、実行の履歴の復元もありません。記録された実行記録はデータの根の下の自分のファイルであり、索引はそこから作り直されます。エクスポートも別の場所へのバックアップではありません。同じフォルダーに書かれるので、それを必要とするコンピューターまで運ぶのは、やはりあなたの仕事です。実行記録の取り込みと書き出しは 履歴 のページで行います。