準備
前回apache httpサーバーのインストールを例にfairy support runの使い方を紹介しました
今回はmysql dumpを例に前回紹介できなかった基本機能の紹介を行います
前回の環境がある前提で話しを進めていきます
前回の内容を実行していない方は実行後このページをご覧ください
こちらからサンプルをダウンロードしてください
MySQLのインストール
mysql dumpを試すためにMySQLをインストールします
サンプルのファイルを使用していきます
|-- fairysupport_run
| |-- common
| | |-- common.sh
| | `-- db_user.sh
| |-- mysql
| | |-- include.txt
| | |-- my.cnf
| | `-- main.sh
| |-- com_fairysupport_run.jar
| |-- env.txt
| `-- server.properties.local
|-- vagrant
| `-- Vagrantfile
fairy support runを実行します
fairysupport_run.bat mysql -f server.properties
./fairysupport_run.sh mysql -f server.properties
MySQLがインストールされました
ファイルのダウンロード
mysql dumpの結果をダウンロードするサンプルを作成してみましょう
サンプルのファイルを使用していきます
|-- fairysupport_run
| |-- common
| | |-- common.sh
| | `-- db_user.sh
| |-- dump_db
| |-- dump_db_get
| | |-- get.txt
| | |-- include.txt
| | `-- main.sh
| |-- com_fairysupport_run.jar
| |-- env.txt
| `-- server.properties.local
|-- vagrant
| `-- Vagrantfile
dump_db_get内のmain.shを見てみましょう
main.sh
#!/bin/bash
. ../common/common.sh
. ../common/db_user.sh
validate_arg_num $# 1 "please input database name"
mysqldump -u${db_root_user} -p${db_root_pw} -vvv ${1} > ./mysqldump.sql
validate_arg_numはcommon.shに定義してあります。引数の個数が第2引数(この場合1)未満ならエラーメッセージを出力して終了する関数です
mysqldumpの結果を./mysqldump.sqlに出力しています
dump_db_getフォルダ内にget.txtというファイルがあります
get.txtという名前のファイルがある場合、fairy support runはget.txtに書かれているファイルまたはフォルダをダウンロードします
get.txtには取得元ファイルまたはフォルダ名と取得後ファイルまたはフォルダ名を書きます
取得元 スペース 取得後
と書きます
dump_db_get内のget.txtを見てみましょう
mysqldump.sql ../dump_db/${FILE}_${SERVER}/${1}/${DATE}_${HH}${MM}${SS}/mysqldump.sql
get.txtの内容
mysqldump.sqlが取得元ファイルです。サーバー上のdump_db_getがカレントディレクトリとなります
../dump_db/${FILE}_${SERVER}/${1}/${DATE}_${HH}${MM}${SS}/mysqldump.sqlが取得後ファイルです。ローカルのdump_db_getがカレントディレクトリとなります
${}で囲われた部分は下記に置換されます
${整数}:引数、${FILE}:プロパティファイル名、${SERVER}:プロパティファイル内キーピリオド左側、${ENV}:env.txtの内容、${DATE}:実行日、${HH}:実行時刻の時部分、${MM}:実行時刻の分部分、${SS}:実行時刻の秒部分に置換されます
fairy support runの実行
実行してみます
fairysupport_run.bat dump_db_get mysql -f server.properties
./fairysupport_run.sh dump_db_get mysql -f server.properties
dump_db配下を見てみましょう
ファイル構成
|-- fairysupport_run
| |-- common
| | |-- common.sh
| | `-- db_user.sh
| |-- dump_db
| | |-- server_server1
| | | `-- mysql
| | | `-- YYYYMMDD_HHMMSS
| | | `-- mysqldump.sql
| | `-- server_server2
| | `-- mysql
| | `-- YYYYMMDD_HHMMSS
| | `-- mysqldump.sql
| |-- dump_db_get
| | |-- get.txt
| | |-- include.txt
| | `-- main.sh
| |-- com_fairysupport_run.jar
| |-- env.txt
| `-- server.properties.local
|-- vagrant
| `-- Vagrantfile
mysql dumpの結果がダウンロードされているのがわかります