tiger

2014.10.09

シェルスクリプトだけでMySQLのクエリ結果をメールで通知する

こんにちは。tigerです。
8月のことになりますが僕がPM的な立ち位置で関わっているGreenSnapという新サービスをリリースいたしました。
今回はそのときに作成したシェルスクリプトを晒しちゃいたいと思います。

はじめに

WebサービスにつきものなのがKPIですよね。
KPIはサービスの健康状態の把握や施策・機能追加/改修の成功可否の判定には欠かせません。
ですが、サービス初期はリソースが枯渇気味というのは世の常。KPI機能を作る工数も割くのももったいないです。
重要だけれども工数が…
こういう状況はよくあるんではないでしょうか。
そこで今回は工数削減のためプロダクトコードには組み込まずシェルスクリプトでKPI機能を実装することにしました。

仕様/要件

シェルスクリプトとはいえプログラムですから以下のようなシンプルでライトな仕様としました。
・同じディレクトリに存在する特定のファイルを全て読み込む
・特定の文字列を置換しクエリとしてMySQLで実行
・クエリの結果をアペンドしていきメールで通知

また構成の要件としてはざっくり以下になります。
・Linux(macでは動かないところがありました)
・mysqlコマンドがインストールされている
・mailコマンドがインストールされている

ソース

send_kpi.sh

sample.sql(同じディレクトリに配置)

まとめ

あとはSQLを書いて同一ディレクトリに配置していけば項目が増やせるので、項目の増減があっても楽チンです!
送信されたKPIは手動でExcelか何かに転記する必要はありますが、まあ初期としては十分だと思います。
何かのご参考なれば幸いです。

以上となりますが、アライドアーキテクツではエンジニアを随時募集しております。
少しでも興味ある方はぜひこちらの採用サイトまで。