fairy support runって?
複数のサーバー上で
手元にあるシェルの実行
ファイルのダウンロード、アップロードができるツールです
サーバーの構成管理にも使えます
ドキュメントを見れば使い方は簡単にわかります
この手のツールでよくあるLAMP環境の構築はこちらで一発でできます
使うのに向いてる人
手元にシェル資産がある人
使うのに向かない人
シェルと聞くと脊髄反射で拒絶反応を起こす人
とりあえず動かしてみる
Java上で動くのであらかじめJavaをインストールしておきます
fairy support runをダウンロードをします。
fairy support runダウンロード
シェルを実行するサーバーへのアクセス情報ファイルを作成します
server1.address=127.0.0.1
server1.port=2222
server1.user=vagrant
server1.password=vagrant
実行するシェル作成します
testフォルダ作成してその中にmain.shを作成します
#!/bin/bash
echo "Hello world"
ファイルの構成は全部で下記のようになりました
|-- com_fairysupport_run.jar
|-- server.properties
`-- test
`-- main.sh
jarファイルなのでjavaコマンドで実行できます
引数に与えているtestというのはmain.shの入っているフォルダ名です
java -jar com_fairysupport_run.jar test
これでmain.shが127.0.0.1:2222上で実行されました
シェルはキックに使うだけにして本処理は得意な言語にしてみる
testフォルダの中にhello_world.plを作成します
print "hello world\n";
main.shを修正します
#!/bin/bash
perl hello_world.pl
ファイルの構成は全部で下記のようになりました
|-- com_fairysupport_run.jar
|-- server.properties
`-- test
|-- hello_world.pl
`-- main.sh
実行してみます
java -jar com_fairysupport_run.jar test
main.shからhello_world.plが実行されました
既存のシェル資産を整理する
とりあえず動かせたので既存のシェル資産をfairy support runで実行できるようにまとめてみる
MySQLへのデータの初期データインポートを整理します
mysqlimportフォルダ作成してその中にmain.shを作成します
#!/bin/bash
data_dir=$(cd ./data; pwd)
for file in `ls -1 ${data_dir}`
do
mysqlimport -uroot -ppassword --local my_db ${data_dir}/${file}
done
mysqlimportフォルダ内にdataフォルダを作成します
dataフォルダ内にテーブル名.txtという名前のタブ区切りファイルを作成します
ファイルの構成は全部で下記のようになりました
|-- com_fairysupport_run.jar
|-- server.properties
`-- mysqlimport
|-- data
| |-- group.txt
| |-- schedule.txt
| `-- user.txt
`-- main.sh
実行してみます
java -jar com_fairysupport_run.jar mysqlimport
my_dbデータベース内のgroupテーブル、scheduleテーブル、userテーブルへ初期データ投入ができました
今回MySQLへの初期データ投入を整理してみました