Technical information

Kompiraの機能 Kompira上のデータをバックアップする(その1)

ジョブフローや各種のKompiraオブジェクトを作成して自動化していると、ジョブフローの書き換えの際の予備やシステム障害に備えたバックアップを取得しておく必要が出てきます。本記事ではエクスポート/インポート機能を利用して、Kompira上に作成したデータのバックアップ/リストアをする方法をご紹介します。

(※検証に利用したKompiraのバージョンは 1.4.10b0です。)

 
オブジェクトのエクスポート

まずはエクスポート機能を利用して、バックアップ用のファイルを取得する方法をご紹介します。

オブジェクトを1つだけバックアップする場合には、オブジェクト名を右クリックして「エクスポート」を選択します。
img_No-0140

「オブジェクトのエクスポート」ダイアログが表示されますので、対象オブジェクトが選択されているのを確認して「エクスポート」ボタンをクリックします。
エクスポート・ダイアログ

次はブラウザによって異なりますが、「kompira_export.json」という名前のファイルをダウンロードするように確認が行われます。必要に応じてダウンロード先のフォルダを変更したり、ファイルの名前を変えてください。
確認ダイアログ

ダウンロードしたファイルはJSON形式のテキストファイルです。内容はメモ帳などのテキストエディタで確認する事が出来ます。
エクスポートファイル

この「kompira_export.json」ファイルを適当なフォルダ等に移動して保管しておいてください。ダウンロード時のファイル名は固定です。(ブラウザによっては既存のファイルがある場合には「kompira_export(1).json」のような命名規則で別ファイルで保存されます)拡張子以外は名称を変更しても構いません。ファイルを取得した年月日などを付けても良いでしょう。以後は「バックアップファイル.json」という名前に変更したとします。

上記の例ではディレクトリ型のオブジェクトを選択してバックアップしましたが、この場合には階層下にあるオブジェクトもまとめてバックアップされます。

 
複数オブジェクトのエクスポート

複数のオブジェクトをまとめてエクスポートする場合は、エクスポートしたいオブジェクトについて、画面左側のチェックボックスを選択し、「その他」->「エクスポート」を選択することでエクスポートを行うことができます。
複数ファイルのエクスポート

以後はオブジェクト1つのエクスポートの場合と同様に確認ダイアログが表示されますので、クリックして進めてください。

 
オブジェクトのインポート

続いてバックアップしたJSONファイルを利用してオブジェクトのリストアを行います。こちらの場合も2通りのやり方があります。

(1) リストア先となるKompiraのディレクトリオブジェクトの名前を右クリックして「インポート」を選択します。
インポートメニュー

(2) 「オブジェクトのインポート」ダイアログで、バックアップしたJSONファイルを選択して、「インポート」ボタンをクリックします。
例えば「ジョブフローを修正している最中に動きがおかしくなったので元に戻したい」というようなケースでは、ここで「既存オブジェクトを上書きする」のチェックを有効にしてください。

確認ダイアログ

(3) インポート処理の結果は画面上部に表示されます。各項目の意味は以下表の通りです。

フィールド 説明
created 新しく作成されたオブジェクトの数
updated 上書きされたオブジェクトの数
skipped (上書きされずに)スキップされたオブジェクトの数
warning 何らかの警告が出たオブジェクトの数
error インポートエラーとなったオブジェクトの数

 

インポートの結果

warning, errorに値が入っている場合には、何らかの不具合が生じている可能性がありますので、リストアされた結果をご確認の上、必要に応じて再度処理を行ってください。
warning, errorの詳細については、Kompiraがインストールされているサーバの/var/log/kompira/kompira.logを参照してください。

※インポートする際にエラーが発生する場合、以下のような理由が考えられます。
・書き込み権限がないディレクトリにインポートしようとしている。
・インポートした結果、オブジェクト数がKompiraのライセンスで規定された数を越える。
・エクスポートした際のKompiraのバージョンとインポートするKompiraのバージョンが異なる。

またインポート処理は、選択したディレクトリ直下に作成される点にご注意ください。上記のケースではバックアップは「/root」ディレクトリで「ジョブフロー」ディレクトリーをエクスポートしました。

そして「/root/ジョブフロー」ディレクトリを選択してインポートすると、下図の様に「/root/ジョブフロー/ジョブフロー」と展開されます。つまり、上書きで戻したい場合には1つ上のディレクトリーで「/root」を選択してインポートする必要があります。
インポート先ディレクトリ

またエクスポートした場合と同様に、上部の「その他」->「インポート」を選択してインポートを行うこともできます。この場合、表示されているディレクトリ自体がリストア先となります。

その他からのインポート