Allied ArchitectsAllied ArchitectsEngineer Blog

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

2014/10/9 Shell

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

はじめに

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

仕様/要件

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

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

ソース

send_kpi.sh

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

まとめ

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

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

tiger
  • tiger
  • Webエンジニア
  • 最近ではコードを書く機会がめっきり減って来てプログラマー35歳限界説に恐怖しています。 このブログを口実に無理矢理新しい技術に触れていきたいと思っています。

RELATION ENTRY

Facebook発の新言語HackをHeroku上で動かす

Facebook発の新言語HackをHe...

2014/06/17 PHP

こんにちは。tigerです。 最近ではブログのネタが思いつかず、このブログを引退しようかと本気で考えています。 今回は奇跡的に思いついた「Hack × Heroku」をお送りしたいと思います。 Hackとは http://hacklang.org/ 2014年3月に発表されたFac...

続きを読む

TitaniumでWeb風に開発できるMVCフレームワーク「Alloy」をさわってみた

TitaniumでWeb風に開発できるM...

2014/04/23 Titanium

どうも、高橋です。 今回は今年の開発合宿でとあるアプリをTitaniumで作ったのですがその際使ったAlloyをテーマにしたいと思います。 Alloyとは Titaniumにビルトインで組み込まれているMVCフレームワークです。 http://docs.appcelera...

続きを読む

tigerの記事一覧へ

ページTOPへ