「Kompira Enterprise 上のデータをバックアップする (その1)」では、Kompira Enterprise 上のデータをブラウザ上で操作することでバックアップする方法をご紹介しました。
今回は、同様の操作をコマンドラインから行ってみましょう。
※ 本稿は Kompira Enterprise 1.6系に準拠した画像を用いています。
動作確認環境
本稿は、以下の環境で検証しています。
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.5.5.post7 |
OS | CentOS 7.8.2003 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.2.post4 |
OS | CentOS 8.2.2004 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.8 |
OS | CentOS Stream 8 |
内容に入る前に
本稿では、「Kompira Enterprise サーバー上の Linux ファイルシステム」を「KE サーバー」と呼び、「Kompira Enterprise 画面上の仮想的なファイルシステム」を「KE 画面」と呼ぶことにしています。
manage.py
KE サーバー上で利用できるユーティリティーコマンドは /opt/kompira/bin に格納されており、manage.py もその中の1つです。
また、利用方法は --help
オプションをつけて実行すると表示されます。
$ sudo /opt/kompira/bin/manage.py --help Type 'manage.py help <subcommand>' for help on a specific subcommand. Available subcommands: [auth] changepassword createsuperuser [authtoken] drf_create_token [contenttypes] remove_stale_contenttypes (後略)
また、各 subcommand の使い方についても、同様に manage.py help “subcommand” で表示されます。例えば、サブコマンド “import_data” のヘルプは以下のように表示されます。
$ sudo /opt/kompira/bin/manage.py help import_data usage: manage.py import_data [-h] [--user USER] [--directory ORIGIN_DIR] [--force-mode] [--overwrite-mode] [--owner-mode] [--update-config-mode] [--now-updated-mode] [--version] [-v {0,1,2,3}][--settings SETTINGS] [--pythonpath PYTHONPATH][--traceback] [--no-color] [--force-color][--skip-checks] filename [filename ...] (後略)
オブジェクトのエクスポート
ここでは次のように、KE 画面上における /root/jobflows ディレクトリの中に3つのジョブフローが格納されているとします。
KE 画面上における /root/jobflows 以下のバックアップを取得するには、例えば、次のように KE サーバー上で export_data サブコマンドを利用し、ファイル “backup-jobflows.json” に格納します。
$ sudo /opt/kompira/bin/manage.py export_data /root/jobflows > backup-jobflows.json
このコマンドを実行すると”backup-jobflows.json”という名前の JSON 形式のデータファイルが、カレントディレクトリに作成されます。
オブジェクトのインポート
先程取得したデータファイルを使ってリストアするには、import_data サブコマンドを利用します。例えば、次のようにこのコマンドを実行すると、先程バックアップを取得した KE 画面上のパスと同じ場所に展開されます。
$ sudo /opt/kompira/bin/manage.py import_data backup-jobflows.json
これで /root/jobflows のリストアが完了しました。
※ Linux ファイルシステム上のパスと KE 画面上でのオブジェクトのパスは対応していません。
相対パスでのエクスポート
KE サーバー上のエクスポート/インポート機能では、KE 画面上でのディレクトリ位置を --directory
オプションを用いて指定することができます。
以下のコマンドでは、KE 画面上でのディレクトリ位置に /root を指定しています。また、バックアップとして取得したいオブジェクトである jobflows の位置を、そこからの相対パス ./jobflows で指定しています。
このとき、backup-jobflows.json は KE サーバー上における以下のコマンドを実行したディレクトリに作成されます。
$ sudo /opt/kompira/bin/manage.py export_data --directory=/root ./jobflows > backup-jobflows.json
相対パスでのインポート
先程取得したバックアップファイルを利用して、 KE 画面上での /root/restore ディレクトリにリストアして展開してみます。
※ /root/restore ディレクトリは、KE 画面上で事前に作成しておく必要があります。
$ sudo /opt/kompira/bin/manage.py import_data --directory=/root/restore backup-jobflows.json
この場合には、次のようにKE 画面上において、 /root/restore 以下に jobflows として展開されます。
このようにして、コマンドラインのユーティリティー manage.py を利用してオブジェクトのバックアップファイルを取得することができます。