会社というものは大きくなる度に身動きが取り辛くなるもんなのか、現在の会社に就職してから4年以上経つわけですが、昨今の情報セキュリティやらなんやらで昔はOKだったことが段々と「ダメ」ってなる機会が増えました。
例えばハード機器にしてもこっちの方が安いので云々ってのも、会社の偉いさんの都合で某社だけしかダメとか…
で、去年にlog解析ツールをポイポイっと作ったんですけど、これがRubyでAサーバーからlogをDLしてきて、sqliteで処理しzip圧縮、自分管理のBサーバーにUPし、mysqlで最終処理してphpで閲覧できるようにしたって感じだったんですよ。
んで、いつものごとくRuby部分をvrubyでexeファイルにして、解析結果が必要な人に毎日DB更新してもらっていたのですが(Aサーバーがメンテだったりするのを私が感知しなくてもよいし、DB更新を目視確認できた方がよいってのもあったのですが、その更新してくださっていた人が退社されましてorz
で、じゃぁもうcronとrsyncでシェルで直接A→Bでやっちゃおうかなと思ったのですが、Aサーバーはsambaで共有化しているのでwindowsからはアクセスできるんですが、Linuxでは鍵の発行してもらえないらしいとorz
1.そのまま誰かにexeファイルを更新してもらう 2.windowsマシーンを介しての自動化 3.Bサーバーのphpの解析結果閲覧ツールも止めちゃうw
3はあまりにもかわいそうだし、自分も見たい時があるので(いや、これを機会にちゃんと見るべきだとw)2になるわけですが…
ここで、powershellを使うべきかなぁと思っていたのですが、これだと無駄に別言語を書かない(覚えない)といけないので却下。 で、Rubyでsqlite処理していた部分もBサーバー上のmysqlにやらせてしまえ!と。
つまりRubyはAの共有サーバー上からlogをgetしてきてzip化してBサーバーへscpでUPし、sshとmysqlコマンドを送ると(ここをshにしてもいいんだけどRubyでやりたい)。
で、結局タスクスケジューラとbatファイルでrubyを毎日朝7時に起動ってことにしました。
多少回り道をしても、人件費の削減には貢献できたんじゃないかと…
先日は、別件でsqliteを3行書けば済むことをエクセルで死ぬほど時間かけてやってたんで、vrubyでフロントエンド作って渡しました。
もうね、phpとjavascript書きながら、VBScript書いて、Ruby書いて、Linuxコマンド書きながらwindowsのbat書いてMysqlやりながらsqlite書いて、Inkscapeでベクタ画像書いて、G-penでラスタ画像書いて、suzukaでswf作って何屋さんなんだろうorz
本職はシステム屋じゃないんだけどなぁ…