LoginSignup
4
5

More than 3 years have passed since last update.

シェル実行ツールfairy support runで既存のシェル資産を整理してみる

Last updated at Posted at 2019-09-29

fairy support runって?

複数のサーバー上で
手元にあるシェルの実行
ファイルのダウンロード、アップロードができるツールです
サーバーの構成管理にも使えます

ドキュメントを見れば使い方は簡単にわかります
この手のツールでよくあるLAMP環境の構築はこちらで一発でできます

使うのに向いてる人

手元にシェル資産がある人

使うのに向かない人

シェルと聞くと脊髄反射で拒絶反応を起こす人

とりあえず動かしてみる

Java上で動くのであらかじめJavaをインストールしておきます
fairy support runをダウンロードをします。
fairy support runダウンロード
シェルを実行するサーバーへのアクセス情報ファイルを作成します

server.properties
server1.address=127.0.0.1
server1.port=2222
server1.user=vagrant
server1.password=vagrant

実行するシェル作成します
testフォルダ作成してその中にmain.shを作成します

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を作成します

hello_world.pl
print "hello world\n";

main.shを修正します

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を作成します

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への初期データ投入を整理してみました

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5