投稿者

CEO at Biibridge Inc.
記事 Akio Hashimoto · 3月 16, 2023 3m read

IRISサーバーのバックアップと再構築の手順

DockerコンテナでIRISサーバーを構築していた時に、Dockerのバージョンアップによって、IRISサーバーが消滅してしまう事がありました。 その経験から、IRISサーバーを復元する為の方法と、事前のバックアップについて共有したいと思います。

###IRISのバックアップ手順

全ての構築が完了したら、事前にバックアップを取っておきます。 クラスやルーチン、グローバルのバックアップは別途、バックアップを取っておく事をお勧めします。

  1. ユーザー定義をエクスポートする。   IRISサーバーで定義したユーザーの設定内容を全てエクスポートします。
zn "%SYS"
write ##class(Security.Users).Export({出力先フルパス})
  1. アプリケーション定義をエクスポートする。   IRISサーバーに定義したアプリケーションの設定内容を全てエクスポートします。
zn "%SYS"
write ##class(Security.Applications).Export({出力先フルパス})
  1. IRISサーバーを停止する。   起動しているIRISサーバーのインスタンス名を指定してIRISサーバーを停止します。
iris stop {IRISインスタンス名}
  1. iris.cpf ファイルをバックアップする。   cpfファイルはインストールディレクトリに在ります。

  2. 各データベースをバックアップする。   各データベースのiris.datをバックアップしておく。   この時、ディレクトリで退避すると良いでしょう。

  3. IRISサーバーを起動する。   IRISサーバーのインスタンス名を指定して起動します。

iris start {IRISインスタンス名}

###IRISサーバーの再構築

IRISサーバーをインストールし直した場合などに、バックアップしておいた情報でIRISサーバーを再構築する。

  1. データベースを元の構成で配置する。   iris.dat等を元のディレクトリ構成で配置しておく。

  2. IRISをインストール。

  3. IRISサーバーを停止する。   IRISサーバーのインスタンス名を指定して停止します。

iris stop {IRISインスタンス名}
  1. バックアップしておいたiris.cpfファイルを上書きする。

  2. 必要に応じて、iris.cpfファイルのパーミッションを変更する。   上手く行かない時はパーミッションを確認して下さい。

  3. IRISサーバーを起動する。   IRISサーバーのインスタンス名を指定して起動します。

iris start {IRISインスタンス名}
  1. ユーザー定義をインポートする。   バックアップしておいたユーザーの定義ファイルをインポートします。
zn "%SYS"
write ##class(Security.Users).Import({バックアップファイルのフルパス})
  1. アプリケーション定義をインポートする。   バックアップしておいたアプリケーションの定義ファイルをインポートします。
zn "%SYS"
write ##class(Security.Applications).Import({バックアップファアイルのフルパス})
  1. 必要な場合、クラス、ルーチンを再コンパイルする。   再コンパイルが必要な場合があります。

以上が、構築したIRISサーバーのバックアップと再構築の手順になります。