- ベストアンサー
BBSのシステムに定期的に書き込みをするプログラム
perlでプログラムを組んでいます。 今、自宅のサーバーでhttpサーバーを立てているのですが、 その中にBBSのCGIがあります。 特定の時間に他のプログラムのログを読み取り、その結果を BBSに書き込むperlのプログラムを組みたいのですが、どのようにしたら perlからcgiを動作させられるかわかりません。 今まではperl単体で完結するプログラムのみを組んでました。 どのような命令を使ったら良いのか教えて下さい
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
OSはなんでしょうか? linux系なら No.3さんのいうように cronという定期実行ソフトに登録します windowsなら、 スタートメニュー をたどっていき →アクセサリ→システムツール にある タスク を起動して 予定(自動実行)を追加します (perlへのパス+exe + コマンドライン(cgi plファイルのフルパス)) で いいかと思います。
その他の回答 (3)
- haru1234
- ベストアンサー率47% (22/46)
「定期的に」を実現するにはperlの関数を探しても見つからないですよ。 (よっぽど特殊なことをすれば不可能とは言わないですが) サーバのOSがUNIX系だということを前提に書きますが、 定期的にperlを実行するにはperlのファイルをcronに登録する必要があります。 >どのようにしたらperlからcgiを動作させられるかわかりません。 exec('何らかのプログラム.cgi'); で良いんじゃないですか?
お礼
ご回答ありがとうございます。 サーバーのシステムはwindowsです。 残念ながらcronは使えません。 スケジューリングについてはフリーソフトでランチャー系のソフトを探して こようと思ってましたが、 #4の方にwinでのスケジューリングの方法を教えていただきましたので、 それで設定しようかと思います。 それと、exec('何らかのプログラム.cgi');ですが、BBSなのでCGIを実行するだけ ではダメで、postする必要があります。
BBSと他のプログラムを実行するサーバーは同一でしょうか? 同一サーバーならばBBSの書き込み部分を他のプログラムに移植するだけで問題無さそうです。
お礼
ご回答ありがとうございます。 BBSのプログラムの一部を流用しない理由として、 BBSの書き込みと作ったプログラムの実行が重なってしまうと 書き込みファイルが破損する可能性があるので、 BBSにpostしてBBS自身に書き込みさせたかったのです。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>perlからcgiを動作させられるかわかりません。 参考URL#2のような感じでPOSTできます
お礼
ご回答ありがとうございます。 ちょっと難しそうですが、やってみようと思います。 ありがとうございました。
お礼
ご回答ありがとうございます。 windowsですのでタスクの設定でいこうと思います。 定期実行にフリーソフトを探すつもりでしたが、タスク登録が出来ると知り 大変助かりました。