share facebook facebook2 twitter menu hatena pocket slack

2014.08.08 FRI

俺のスクリプト(JSON をパースしてサービスを stop とか start してみる)

川原 洋平

WRITTEN BY川原 洋平

どうも、 かっぱ@inokara)です。こんばんわ。

こんなん作ってみました

以下のような JSON が標準入力から入ってきたら該当のサービスを stop したり start するスクリプト。

test.json
{"body":{"action":"start"}}

以下、Apache を stop したり start したりするスクリプト。

test.rb
#!/usr/bin/ruby

require 'json'
require 'logger'

while line = STDIN.gets
  message = JSON.load(line)
  status = message['body']['action']
  case status
  when "start"
    system('sudo /etc/init.d/httpd start')
  when "stop"
    system('sudo /etc/init.d/httpd stop')
  end
end

使い方は…

cat test.json | ./test.rb

スクリプトにサービス名(httpd)をベタ書きするんではなくて JSON に含めてもいいかもと思ったり。

元記事は、こちら