Hyper Estarierのバックアップを作成する

技術関係

バックアップ用のシェルスクリプトを準備

以下を参照。下記のスクリプトを実行すると、サーバルートディレクトリと同じ階層に「~.yyyy-mm-dd.cpio」というバックアップファイルが作成される。
別にtar.gzなどでサーバルートディレクトリをまるごとバックアップをとっても問題ないと思うけど、とりあえず説明書きのままに

http://fallabs.com/hyperestraier/nguide-ja.html>

バックアップ

設定ファイルのbackupcmdに任意のコマンドを指定することにより、
ノードマスタの稼働中にデータベースのバックアップを取ることができます。
ノードマスタ組み込みのユーザインターフェイスから「BACKUP」を実行すると、
全てのノードのデータベースをデバイスに同期させた上で、backupcmdで指定したバックアップコマンドが呼び出されます。
バックアップコマンドの第1引数にはサーバルートディレクトリの絶対パスが指定されます。
通常は、以下のようなシェルスクリプトを用意して、そのパスを指定するとよいでしょう。

$ cat backup.sh
#! /bin/sh
cd “$1”
name=printf '%s' ${PWD##*/}
cd ..
find “./$name” -depth | grep -v ‘./_pid’ |
cpio -o > “$namh.date -I.cpio”

_pidファイルは不要ですので、アーカイブに含めないようにするか、アーカイブを展開した後に削除するようにしてください。なお、CPIO形式のファイルは「cpio -idv < casket.xxx.cpio」などとすると展開できます。

手動で実行する場合には、絶対パスでサーバルートディレクトリを指定する
$ ./backup.sh /absolute/path/to/estraier/server/root/dir

バックアップを展開する

以下を実行するとカレントディレクトリにサーバルートディレクトリが復元される
$ cpio -idv < casket.yyyymmddd.cpio

バックアップ用のシェルスクリプトを登録する

上記のbackup.shをHyper Estaraierのルートディレクトリにあるconfに追記する
$ vi
conf

backupcmd: /path/to/backup.sh

その後以下のアクションを呼び出すことでバックアップが可能
http://localhost:1978/master?action=backup

備考:ノードを最適化する

以下のアクションを呼び出すことで、ノードのインデックスを最適化できる

[dbname]/optimize

タイトルとURLをコピーしました