最新閲覧日:

以前過去の質問で見たような気がするのですが、
思い当たるキーワードを打っても打っても出てこないので
申し訳ありませんが質問させていただきます。
cgi を一定の間隔で自動的に実行したいんです。
telnet接続したり、UNIXで操作しないと不可能でしょうか
Perl でやれればありがたいのですが。

A 回答 (6件)

ある周期でHTMLの更新をしたいという事でしょうか?(見当ハズレだとしたらスミマセンm(^_^;m)



だとしたら、該当のHTMLがロード(表示)されたら必ずその時の日時情報をテンポラリファイルとして保存しておく様にし、再び誰かしらが該当のHTMLをロード(表示)したタイミングで前回表示された日時と照らし合わせ、その日時差から最新のHTMLに書き換える様にするというのはどうですか?
つまり、あたかも一定周期で書き換えられた“様に”見せる訳です。

この流れで処理するとしたら、SSI(サーバサイドインクルード)を利用して、~.shtml 形式で処理すると設計し易いです。
またその場合、実際に【書き換える】のではなく、INCLUDE構文でHTMLの一部を自動で吐き出す形を取るのが宜しいかな。

この回答への補足

ご回答いただき、ありがとうございます。
なんだか、こんな方法もあったのかと、目が丸くなって
しまいました。
更新というか、一定時間ごとにフォームのボタンを押して
欲しい・・・のですが、いろんな方からの回答を
いただいたので実現できるかもという気がしてきました。

補足日時:2001/04/27 10:39
    • good
    • 0

なんか回答がズレていると思うのは気のせい?^^;



えー、スクリプトを自動実行させるにはtelnetで入って
crontab -e すればいいわけですが、たいていのプロバイダでは
cronを許可していないと思います。
kiwiとかairnetは許可してますね。

あともうひとつの方法としては、時間がくると指定したプログラムを
実行してくれるオンラインソフト(URL参照)を使って、

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" www.hoehoe.com/auau.cgi

みたいにする方法があります。この方法だと当然自分のマシンを
起動させておく必要がありますが。

参考URL:http://www.vector.co.jp/vpack/filearea/win/util/ …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
一番待ち望んでいた回答かもしれません。
痒いところに手が届いたような感じです。
ありがとうございます。

お礼日時:2001/04/22 23:48

 もしあなたが自分でサーバーを持っているのではなく、一般のプロバイダをレンタルで借りているのであれば、まずプロバイダの許可を取ってください(^_^;


 人の手によらず定期的に実行するということは、「サーバーに常駐し、ずーーーっとCPUの一部を占有しっぱなし」か、あるいはスケジューラーなどにプログラムを登録するということのどちらかです。

 そんなことをしていいのか、というのが最初に問題になります。
 フツーは勝手にそんなことしたら苦情が来るか、でなければ強制的にプログラムを停止されてしまうでしょうね。特に前者は(^_^;
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
普通のレンタルサーバー業者ですから、たぶんそれは
無理だと思います。
でも私の知らないことがわかりました。感謝です。

お礼日時:2001/04/22 23:42

私もCGIで行うようなものではない気がします。


UNIXのcorntab(だったっけ?)とかで指定するのはどうでしょう。
ほかには・・・・・、メールを定期的に送信して、メールが届いたらCGIプログラムを起動するようにしておく、というのもUNIXの操作が必要ですが・・・。
まだ初心者なのであまり明確な答えでなく申し訳ないです・・・。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
UNIXの操作が必要なのですか・・・うーん
今借りているレンタルサーバーを変えなくては
なりません。。。このあたりもよくよく検討させて
いただきます。

お礼日時:2001/04/22 23:36

perlモジュールのNet::Telnetを使用すれば


telnet接続をすることができます。

でも、どう考えてもCGIで行う内容では
ない様な気がするのですか、、、

通常のperlスクリプトを定期的に実行し
その結果はファイルに書いたり、DBIを使って
何かしらのデータベースへ格納。
DBやファイルに保存された内容をCGIから参照。
というアプローチは如何ですか?

まぁ、何がしたいかにもよりますが、、、
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
いま、perlの本を見ているんですが・・・
わたしの持っている本にはあいにく載っていない
ようです。
でも気がかりなので、調べてみます。
具体的には、一定の時間ごとに、フォームのある
ボタンを押して、その後、ページを更新したいのです。
うーんわかりにくい説明かな。

お礼日時:2001/04/22 23:32

CGIの仕組みを調べてみれば分かるはずですが・・・



基本的にブラウザからのリクエストがあってから
はじめてサーバ側で実行されるので、何かしらの
アクションを取ってやらないと定期的に実行する
というのは無理だと思いますよ。

どうしてもというのであれば、ブラウザにリロードを
書けるページを作成した上で、起動しっぱなしに
しておけば、自動的にリロードをかけて、一定間隔で
実行してくれるはずです。

間違いがありましたらご指摘ください。
ではでは☆
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
なるほど、起動しっぱなしにしておいて、ブラウザの
リロードとはいいアイデアだと思います。
この案も一つの手段として検討させていただきます。

お礼日時:2001/04/22 23:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報

カテゴリ