• 締切済み

cronからCGI呼び出し

movabletypeで指定日に投稿する機能がありまして、仕組みは cronを使って「run-periodic-tasks」を動かすというものです。 ですが、私が利用しているサーバでは直接cronをいじる事が出来ず 変わりにコンパパネからcronを設定出来る仕様になっています。 そこで指定できるファイルの拡張子が「*.cgi」「*.pl」「*.rb」のみです。 動かしたいファイルは「run-periodic-tasks」で拡張子がありませんので 当然指定が出来ません。 そこで私が考えたのが、別にcgiファイルを作成、そのcgiファイルから 「run-periodic-tasks」を動かすという方法です。 ですが、うまく動作しません。 ■作成したファイルは以下の通りです。 【run.cgi】 --------------- #!/usr/bin/perl -w require './run-periodic-tasks'; exit; --------------- ■run-periodic-tasks --------------- #!/usr/bin/perl -w use strict; 【省略】 1; --------------- どなたかお分かりになる方ご回答の程宜しくお願いします。

みんなの回答

noname#205944
noname#205944
回答No.1

movabletypeについてはよくわかりませんが、答えがないようなので・・ requireでは、使い方が違うと思いますよ run-periodic-tasksはperlプログラムですか? それによって処理が違ってきます テキストエディタで開いてみるとわかるかもしれませんね もしPerlでしたら、拡張子を.plにしてセットする(拡張子を気にするのはwindowsシステムくらいなものです)のがいいかと もしくは、run.cgiの中身を もし、run-periodic-tasksがshシェルで書かれているのなら exec "run-periodic-tasks" '/bin/csh'; exec "run-periodic-tasks"; #その他Pel以外 か、 system "echo run-periodic-tasks"; system "/bin/echo", "run-periodic-tasks"; #こっちの方が安全 か、 return qx/run-periodic-tasks/; たぶんcronも実行結果の成否を求めると思うので最後に 1; があるといいかもしれませんね いろいろ書きましたが、どれかひとつだけを選んでください いずれも、システムによっては許可していないところもあるようです

参考URL:
http://www2u.biglobe.ne.jp/~MAS/perl/ref/

関連するQ&A