rubyでデーモン作ったよ。
まんまです。ちょっとした需要から
- 一定間隔(例では500ms)であるサーバにファイルを取りに行く
- 取ってきたファイルを保存する。
- 一度動かしたらしばらく止めないので、デーモン化させる
という至極簡単な内容です。
#!/opt/ruby-1.9.2/bin/ruby Process.daemon require 'net/http' class File_Get http = Net::HTTP.new("example.com", 80) req = Net::HTTP::Get.new('/hogehoge.txt') while true res = http.request(req) body = res.body output_file = File.open("/tmp/output.dat", "w") output_file.write(body) output_file.close sleep(0.5) end end
肝はruby1.9系だと「Process.daemon」と書くだけでデーモン化されるので、
これを実行するだけです。ちゃんと運用で使う場合は/etc/init.d/配下に
起動・停止スクリプトを作ればとりあえず出来ちゃうみたいです。
ちょっとだけ「あれ?(・ω・)」となった所は、デーモン化する事で実行したディレクトリが
カレントディレクトリになるのでは無く、「/」がカレントになっていたので
絶対パスとかでちゃんとディレクトリ指定しないとルートにガンガンファイル作る事になっていました。