PHPで作ったスクリプト、rubyでも作ってみた

1台のサーバーで複数のブログを公開しているので、それぞれの WordPress のバージョンを調べるスクリプトを作って確認したばかりですが、このスクリプトPHP で作りました。WordPress が動作する、というのは PHP が動作する、ということなので、パッケージがインストールされていないので動作しない、といったことはありません。

 

こういうスクリプトruby の方がいい、という思いもあってテスト環境でほぼ同じ機能を ruby でも作ってみました。こっちの方が記述が簡単になり、見やすいように思います。ruby の方が生産性は高いので当然かもしれません。

 

しかし、問題が。MySQLへの接続をどうするか。
PHP では、MySQLへのアクセス機能をモジュールとして組み込む仕組みになっており、WordPressMySQL を使うことから、当然本番システムにも組みまれています。
しかし、ruby は、複数の手段が用意されています。さらに、ruby のプログラムにモジュールとして組み込むのではなく、Perl のように外部のライブラリとして用意する仕組みになっています。

 

当然、本番システムには、ruby というプログラムはインストールされているものruby の外部ライブラリはインストールされていません。Ruby on Rails でシステムを構築すると、この辺の問題は無いのでしょうが、所詮ただのブログサーバーですから。

 

MySQLruby 用ライブラリは、gem の仕組みを使って簡単に入れられるのですが、開発環境とちがい本番環境を途中からいじるのは、ちょっと。


このスクリプトは、コマンドラインから実行するだけで、実行速度を気にする必要がない。なので、外部 コマンドとして mysql を実行し、その結果を ruby で処理させるのがいいかも。
ネットで検索すると、この外部コマンドを使った例が、以外と Google の検索の上位にある。ということは、同じことを考えている人が多いということか。

 

mysql コマンドで、必ず1つのワードだけ出力するようSQLを書き、さらに事前に動作確認してエラー処理を省けば、ソースは簡単に記述できます。誰が使ってもOK、というスプリクトを組むにはそれなりに面倒ですが、割り切って作ればそうでもありません。

 

実際に作ってみたら、案外簡単な記述でもちゃんと動作しました。
やっぱりどうせ使うのなら ruby の方がいいかな。

 

f:id:muzina_630:20170209144233j:plain