DockerコンテナでIRISサーバーを構築していた時に、Dockerのバージョンアップによって、IRISサーバーが消滅してしまう事がありました。
その経験から、IRISサーバーを復元する為の方法と、事前のバックアップについて共有したいと思います。
IRISのバックアップ手順
全ての構築が完了したら、事前にバックアップを取っておきます。
クラスやルーチン、グローバルのバックアップは別途、バックアップを取っておく事をお勧めします。
- ユーザー定義をエクスポートする。
IRISサーバーで定義したユーザーの設定内容を全てエクスポートします。
zn "%SYS"
write ##class(Security.Users).Export({出力先フルパス})
- アプリケーション定義をエクスポートする。
IRISサーバーに定義したアプリケーションの設定内容を全てエクスポートします。
zn "%SYS"
write ##class(Security.Applications).Export({出力先フルパス})
- IRISサーバーを停止する。
起動しているIRISサーバーのインスタンス名を指定してIRISサーバーを停止します。
iris stop {IRISインスタンス名}
-
iris.cpf ファイルをバックアップする。
cpfファイルはインストールディレクトリに在ります。 -
各データベースをバックアップする。
各データベースのiris.datをバックアップしておく。
この時、ディレクトリで退避すると良いでしょう。 -
IRISサーバーを起動する。
IRISサーバーのインスタンス名を指定して起動します。
iris start {IRISインスタンス名}
IRISサーバーの再構築
IRISサーバーをインストールし直した場合などに、バックアップしておいた情報でIRISサーバーを再構築する。
-
データベースを元の構成で配置する。
iris.dat等を元のディレクトリ構成で配置しておく。 -
IRISをインストール。
-
IRISサーバーを停止する。
IRISサーバーのインスタンス名を指定して停止します。
iris stop {IRISインスタンス名}
-
バックアップしておいたiris.cpfファイルを上書きする。
-
必要に応じて、iris.cpfファイルのパーミッションを変更する。
上手く行かない時はパーミッションを確認して下さい。 -
IRISサーバーを起動する。
IRISサーバーのインスタンス名を指定して起動します。
iris start {IRISインスタンス名}
- ユーザー定義をインポートする。
バックアップしておいたユーザーの定義ファイルをインポートします。
zn "%SYS"
write ##class(Security.Users).Import({バックアップファイルのフルパス})
- アプリケーション定義をインポートする。
バックアップしておいたアプリケーションの定義ファイルをインポートします。
zn "%SYS"
write ##class(Security.Applications).Import({バックアップファアイルのフルパス})
- 必要な場合、クラス、ルーチンを再コンパイルする。
再コンパイルが必要な場合があります。
以上が、構築したIRISサーバーのバックアップと再構築の手順になります。