データのエクスポート

export_data 管理コマンドによるエクスポート

export_data 管理コマンドを用いると、指定したパス配下の Kompira オブジェクトを JSON 形式でエクスポートすることができます。 KE2.0 では kompira コンテナ上で export_data 管理コマンドを実行させるために、ホスト上では以下のように実行してください。

$ docker exec $(docker ps -q -f name=kompira) manage.py export_data [options...] <オブジェクトパス>

デフォルトではエクスポートデータは標準出力に出力されるので、ファイルに書き出したい場合はリダイレクトを利用するなどしてください。

$ docker exec $(docker ps -q -f name=kompira) manage.py export_data <オブジェクトパス> > exported_data.json

export_data 管理コマンドで --zip-mode オプションを指定した場合は、エクスポートデータはコンテナ側に ZIP ファイルとして書き出されることに注意してください。 エクスポートされた ZIP ファイルをホスト側で利用するには、例えば以下のようにエクスポート後にホスト側にコピーしてください。

$ docker exec $(docker ps -q -f name=kompira) manage.py export_data --zip-mode <オブジェクトパス>
$ docker exec $(docker ps -q -f name=kompira) ls  # 出力された zip ファイル名を確認
$ docker cp $(docker ps -q -f name=kompira):/opt/kompira/<zipファイル名> .

export_data 管理コマンドのオプション

export_data 管理コマンドには以下のオプションがあります。

オプション説明
--directory=DIRECTORYエクスポートするパスの起点となるディレクトリを指定します(*1)
--virtual-mode仮想ファイルシステムに含まれるデータも出力します
--owner-modeエクスポート対象となったオブジェクトの所有者(*2)も出力します
--zip-modeZIP 形式で出力します
--without-attachments添付ファイルデータを出力しません
-h, --helpヘルプメッセージを表示します
  1. --directory オプションを指定していない場合は / がエクスポートの起点となります。
  2. 所有者であるユーザオブジェクトおよびその所属グループオブジェクトが追加で出力されます。

export_dir 管理コマンドによるエクスポート

export_dir 管理コマンドを用いると、指定したパス配下の Kompira オブジェクトをオブジェクト毎に YAML ファイルとしてエクスポートすることができます。 なお、以下の型を持つオブジェクトの場合は、代表するフィールドのデータのみがファイルとして出力され、 残りのフィールドは、.<オブジェクト名> という名前の YAML ファイルとして、プロパティ情報とともに出力されます。

型名代表フィールドファイル形式
Jobflow(ジョブフロー)source(ソース)テキスト
ScriptJob(スクリプトジョブ)source(ソース)テキスト
Library(ライブラリ)sourceText(ソーステキスト)テキスト
Template(テンプレート)template(テンプレート)テキスト
Text(テキスト)text(テキスト)テキスト
Wiki(Wikiページ)wikitext(Wikiテキスト)テキスト
Environment(環境変数)environment(環境変数)YAML

KE2.0 では kompira コンテナ上で export_dir 管理コマンドを実行させるために、ホスト上では以下のように実行してください。

$ docker exec $(docker ps -q -f name=kompira) manage.py export_dir [options...] <オブジェクトパス>

export_dir 管理コマンドではコンテナ上のファイルシステムにファイルを書き出すことに注意してください。 エクスポートされたデータをホスト側で利用するには、例えば以下のようにエクスポート後にホスト側にコピーしてください。

$ docker exec $(docker ps -q -f name=kompira) manage.py export_dir --current /tmp <オブジェクトパス>
$ docker exec $(docker ps -q -f name=kompira) ls /tmp/  # 出力されたディレクトリ名を確認
$ docker cp $(docker ps -q -f name=kompira):/tmp/<エクスポートされたディレクトリ名> .

ここでは、コンテナ上の /tmp ディレクトリにエクスポートしたのちに、ディレクトリ一式をホスト上の指定したディレクトリ (.) にコピーしています。

export_dir 管理コマンドのオプション

export_dir 管理コマンドには以下のオプションがあります。

オプション説明
--directory=DIRECTORYエクスポートするパスの起点となるディレクトリを指定します(*1)
--property-mode表示名など属性も出力します
--datetime-mode作成日時と更新日時も出力します
--current=CURRENT_DIR出力先のディレクトリを指定します
--without-attachments添付ファイルデータを出力しません
--inline-attachments添付ファイルデータをYAMLファイルに含めて出力します
--linesep=LINESEP代表フィールドを出力するときの改行コードを指定します(*2)
-h, --helpヘルプメッセージを表示します
  1. --directory オプションを指定していない場合は / がエクスポートの起点となります。
  2. LINESEP には os_linesep, lf, crlf, no_change のいずれかを指定できます。os_linesep では OS 標準の改行コードに、lf では \n に、crlf では \r\n に変換します。no_change を指定したときは改行コードを変更しません。デフォルトでは os_linesep です

注釈: --linesep は :ref:テキスト形式 <data_export> のファイルにのみ影響します。