前提としては新しい環境はcactiを初めからインストールした直後で、
テンプレートだけ他の環境からコピーしたい場合です。
既に動いている環境とマージする方法では無いのでその点は注意を。
手順としては、cacti配下にあるテンプレートで利用しているスクリプトを移動して
DBの情報をdump→インポートするという手順です。
僕の場合はcacti内部にある
<path_cacti>/resource <path_cacti>/scripts
上記ディレクトリに必要なxmlファイル、bashスクリプト、perlスクリプト等が
秘伝のタレと化しているので、まるまるコピーします。
次に、DBからデータをダンプします。
mysqldump -u root -p cacti > cacti_hiden_no_tare.sql
でダンプ。
次にこれを適当な作業サーバで一度インポートします。
手順としては、Cactiをインストールした後、上記のコピーしたファイルをまるっと追加して
mysql -u root -p cacti < cacti_hiden_no_tare.sql
でインポート。
※インポートする前に一度DBをdropした方が良いかも知れないですね。僕はやりました!必要ないかも!
上記の設定が終わったらcactiの画面へアクセスしてみると今の設定情報がまるまる
コピーされていると思います。
但し、監視hostとかはまっさらにしたかったので、この辺のいらない情報を一度消しましょう。
いらない管理情報とかの削除が終わったら以下のテーブルのauto incrementをリセットします。
これをしないと、移行先で新しくhost追加した場合、元のIDを引き継いだIDが振られます。
気にしない人はそのままでも良いんじゃないでしょうか?
で、僕がリセットしたテーブルは以下の通り。
data_local:rrdデータの管理番号テーブル? graph_local:グラフテンプレートの管理番号テーブル? graph_tree_items:グラフツリーの管理番号テーブル? host:登録したホストの管理テーブル poller_item:pollerの管理番号テーブル?
上記のテーブルに対して、
ALTER TABLE <テーブル名> AUTO_INCREMENT = 0;
を実行しましょう。
ここまで来たら、再度DBのデータをダンプして移行先にインポートすれば
テンプレートの設定とかだけ引き継いだ状態で可能な限りにクリアな
Cactiが作れると思います。
テンプレートのIDとかは引き継いだ状態なので、この辺も綺麗にしたい人は
頑張ってその手順を僕に教えて下さい><