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

このQ&Aに関連する最新のQ&A

A 回答 (6件)

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



えー、スクリプトを自動実行させるには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

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



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

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

この回答への補足

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

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

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


 人の手によらず定期的に実行するということは、「サーバーに常駐し、ずーーーっと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に関連する人気のQ&A

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

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

このQ&Aと関連する良く見られている質問

QJリーグの降格と昇格が決まる時期

現在、海外に住んでおります。
日本への一時帰国はJリーグの降格と昇格が決まる時期にしようと思います。
実際にスタジアム観戦をします。

ここでお聞きします。Jリーグの降格と昇格が決まる時期はいつ頃なのでしょうか?

Aベストアンサー

Jリーグの最終戦と、入れ替え戦があります。日程はJリーグのサイトで調べて下さい。

QUNIXっぽくCUIでPerlをWindowsで

ちょっとすごいタイトルになってしまいましたが、
今読んでいる書籍が、UNIXのコマンドラインを使用してのPerlの解説がされている本なので、
それをWindowsでも同じようにコマンドを打っていくだけで体感できないかと思っているのですが、
無理でしょうか?

コマンドプロンプトを使って、perlの処理をあれこれと試すことはできますでしょうか?

Win32 GNUというシェルがウィンドウズにも存在するとのことですが、これをいれればperlをコマンドラインで実現できるのでしょうか?

そもそもCUIじゃないと、
#!/usr/local/bin/perl -w
というエラーチェックのwを記述しても意味がない気がするのですが、どうなのでしょう。

アドバイスお願いします。

Aベストアンサー

Perlに関して、Unixのコマンドラインでできることは、Windowsのコマンドラインでもできます。
perl test.pl 引数1 引数2 ...
とやれば、test.plが実行されるでしょう。.plや.cgiがActivePerlに関連づけられていれば、
test.pl 引数1 引数2 ...
とやるだけで、実行されるでしょう。
とにかくWindowsのコマンドラインで一度使ってみてください。そして、どのように使って、どういう結果(エラー?)になったか教えてください。

ちなみに、Unix上でCGIの動きを確認する際も、同じようにブラウザからテストするのが普通だと思います。そうでなければ、CGIの実行に必要な環境変数をセットするようなシェルスクリプトでも作って、コマンドラインでテストするんじゃないかな。Windowsでも同じようにできますよ。

Q定期預金の解約時期は?

定期預金の解約をしたいのですが、いつ行けばいいのでしょうか?
満期が2週間後なのですが、満期当日でなくても、前後の数日間のどこかで窓口に行けばいいのでしょうか??

一応、「定期預金解約時期」で検索してみたのですが見付かりませんでした><;

ちなみに、満期時での解約には、手数料かかりませんよね??

Aベストアンサー

ATMで窓口営業時間以外にも(満期日前解約予約サービス)解約できるサービスがあるはずですが。
総ての銀行にそのようなサービスがあるかどうかは解りませんが。
私の地元の地方銀行ではATMで事前に定期預金の満期日解約予約ができます。画面の支持に従って操作するだけ簡単にできます。
一度取引銀行に問い合わせてみてはいかがですか。
予約すれば満期日以降指定金額が普通口座に振り込まれます。中途解約はできません。(但しスパー定期預金のみのサービス)
通帳とカードさえあれば満期日以前ならいつでもできます(ATM利用可能時間内)同じ銀行ならどこの支店でもできます。
窓口での対応ではないので気楽に時間も気にせず解約できますので今はこのサービスを利用してます、解約そのものには手数料はかかりません。
http://www.aichibank.co.jp/kojin/card/atm.html
定期預金取引を参照

QUNIX系OSでのCGIの文字コード

こんにちは。

分からない事があるので、質問させて頂きます。
UNIX系のOSで、 CGIにGET/POSTをかける時に、
CGIを呼び出すHTML文書がシフトJISで記述
してあれば、データをシフトJIS で送信して
くれますか??

ヒントになるような事でも、何でもかまいませんので
アドバイス&回答お待ちしております。
よろしくお願いします。

Aベストアンサー

HTML文書で次のように書けばデータをシフトJISで送ります(たぶん)

..
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
..
<form ENCTYPE="text/plain">
..

参考URL:http://www.pst.co.jp/Powersoft/C_Cgi/ref/RefFormEnctype.htm

Q外貨定期貯金の解約時期

オーストラリア$で外貨定期貯金をしています。

入ったときは、1A$=79.2円で、今がだいたい1A$=87円です。

手数料は5円です。

外貨貯金は、利息ではなく為替差益を考えた方がいいと聞きましたが、今が解約時期でしょうか?

ちなみに、今解約したとしても使い道はありません。

Aベストアンサー

No1です。

更新に手数料がかからず、かつ、豪ドルが6ヶ月後にはさらに上がっていると予想されるなら、更新されても良いと思います。

しかし、更新に手数料がかかるのであれば、解約したほうが良いでしょう。その上で、豪ドルが今後もさらに上がっていくと予想されるなら、手数料の安いソニー銀行や新生銀行でやられるか、クリック365の証拠金取引をお勧めいたします。

ただ、外国為替はプロでも予想が難しいらしいので、6ヶ月後の豪ドルを予想できる人はいないでしょう。プロの意見でも、豪ドルはまだ行けるという人も、そろそろ米ドルにシフトさせていったほうがという人もいます。
ちなみに過去二年の豪ドルチャートを見ると、今は最高水準で、過去の最低が約75.5円…、怖いですよね。

質問者様のようにある程度長い期間でゆっくり回す余裕が私にあったら、手数料・金利の有利な証拠金取引で、外貨を買って放置、適当に上がったら売りって感じにしますが。

Qcgi(perl) sendmailの使い方

お手数ですがよろしくお願い致します。

レンタルサーバー(ロリポップ)にCGIを設置してサイトを作成しています。
メールフォームを作ってフォームから指定されたメールアドレスに自動返信するようにしたいのですが、うまく動作しなくて困っています。

利用環境は
Perl(ver.5.8.8)でsendmailについては以下のようになっています。
・SENDMAIL の利用は可能です。 postfixによるラッパーとなります。
・sendmailのパスは/usr/lib/sendmail もしくは/usr/sbin/sendmail どちらでも利用可。

現在メールを送るところまでは出来るようになったのですが、届くメールを見ると宛先などのアドレスに余計なドメインが付加されているのです。

テスト中のcgiは大体以下のような感じです。

my $from = 'foo01\@bar.jp';
my $to = 'foo02\@bar.jp';
my $subject = 'test';
my $msg = 'test';

open(SDML,"| $sendmail -t -i") || die;
print SDML "From: $from\n";
print SDML "To: $to\n";
print SDML "Cc: $cc\n";
print SDML "Subject: $subject\n";
print SDML "Content-Transfer-Encoding: 7bit\n";
print SDML "Content-Type: text/plain;\n\n";
print SDML "$msg";
close(SDML);

これで送られてくるメールを見ると
宛先: "foo02@bar.jp"@usersXXX.phy.lolipop.jp (XXXは本当は数字。usersXXXはロリポップのサーバー番号というものらしいです。)
こんな風に余計なドメインがくっついて送られてきます。

print SDML "To: $to\n"; → print SDML "To: foo02\@bar.jp\n";
という感じで直書きに直すとこの症状は起こらないのですが、変数で指定するとどうしても起こります。

自動返信するため宛先に変数を使いたいのですがどうしたらこの症状が出ないように出来るのでしょうか?

お手数ですがよろしくお願い致します。

レンタルサーバー(ロリポップ)にCGIを設置してサイトを作成しています。
メールフォームを作ってフォームから指定されたメールアドレスに自動返信するようにしたいのですが、うまく動作しなくて困っています。

利用環境は
Perl(ver.5.8.8)でsendmailについては以下のようになっています。
・SENDMAIL の利用は可能です。 postfixによるラッパーとなります。
・sendmailのパスは/usr/lib/sendmail もしくは/usr/sbin/sendmail どちらでも利用可。

現在メールを送るとこ...続きを読む

Aベストアンサー

これは、postfixの正しい挙動だと思います。 それは、
$to の定義において、 @の前に \ を置いてエスケープしているのにシングルクォートで括っているから、postfixは 「foo02\@bar.jp」をローカルパートと判断し、「@サーバー名」 を付加しているのでしょう。

Q終身付定期保険の更新時期

 明治安田生命の定期付終身保険に入っています。
加入から15年で定期部分の更新が来るタイプのものです。
 その更新時期までまだ1年4ヵ月あるタイミングで、営業が連絡をしてきて、
更新手続きの締め切りが迫っていて、それを過ぎると条件を変えることができない、
というようなことを言われました。

 なんとなく腑に落ちません。あと1年半近くあると思っていたのですが、
そんなに早く手続きをしなければならないというようなことがあるのでしょうか。
ないのだとしたら、どういう意図でそういうことを言ってきたのでしょうか。
 いまの保険を解約か何かすると何十万円かは戻るので、
それでライフアカウントというのにするように奨められています。
保険の仕組みがよくわからないので、そういう見直しが有利なのかどうなのか判断がつきません。

Aベストアンサー

こんにちは。お話伺いました。                 
更新手続きの締め切りが迫ってる なんてありえません。差し詰め今月か来月の営業さんのノルマが切羽詰ってるのでしょう。         

1年4ヶ月後が更新の時期ですと早くて半年前か3ヶ月前くらいで十分更新やら他商品への見直しができますから。            

13年8ヶ月も続けてるのに 解約すると何十万しかないようですと それほど終身部分の金額は大きくないようですね(おいくらになってます?教えてください)      

転換もできないそのような保険商品には内容的にも何の未練もございません。更新時より 1歳若い(1歳若い時の方が保険料が安いですので。)今に気付かせてくれた営業さんに感謝しつつ 他社さんで安心の保険商品を選びましょう。

QPerl・CGIによるフォールメールについて

以前にも似たような質問をさせて頂いたのですが、もう少し詳しいことまで教えて下さい。m(._.=)mぺコ
ホームページからメールをもらえるよう、アドレスを公開していたのですが、迷惑メールが多いため、対策を検討しています。
CGI(Perl)によるフォームメールにした場合、SPAMメールなどの迷惑メール防止策となるのでしょうか?

そのまま公開していると、悪質プログラムに拾われてしまう為、画像にするとよいと聞いたのですが、フォームメールではどうなのでしょうか?

皆さんのご意見をお聞かせ下さい。
よろしくお願い致します。

Aベストアンサー

こんにちは。#3です。

 補足を拝見しました。この形式ですと、メールアドレスは.cgiのファイルに書かれていて、HTMLのソースを見ても書いてありませんね。それでしたら、メールアドレスを収集するプログラムから見られることはありません。一応、SPAM防止になります。

#ただし、SPAMを送る人が適当に作り出したものが偶然ヒットした場合は、どうにもなりませんので。念のため。
(その場合は、メーラーで振り分けをするか、迷惑メール対策をしっかりしてくれるメールアドレスを使うようにするかでしょうね)

よいメールライフを送れますように。

Q事業用定期借地権設定覚書の賃料支払開始時期について

事業用定期借地権設定覚書の賃料支払開始時期についてお教え下さい。u2iwillfollowyouと申します。宜しくお願い致します。
あるコンビニエンス・ストアから、私が所有する土地に20年間の事業用定期借地権設定契約を締結したいという話があります。「まず最初に契約するのは、公正証書を締結する前の覚書になり、公正証書の締結については、2015年の3月までを目途に考えており、公正証書を締結して確定の契約となる。」とのことです。
事業用定期借地権設定覚書の賃料の条項では、開店日から賃料を支払うことになっています。そこで、相手方に開店までの期間を質問したところ、
「◆店舗開店までの工事期間について
・スタートしてから約6か月程を見込んでいます。
(1)試掘申請から結果の回答まで(約2ケ月)
(2)開発申請、建築確認申請等で(約2ケ月)
(3)工事を開始してから完成まで(約2ケ月)
※この中で一番予定が変動するのが、開発申請と建築確認申請になります。
状況により変動することがあることはご了解をお願いします。」
という回答がありました。
土地をあけ渡しても、少なくとも6ケ月間は賃料収入無しとなることが有り得ることになりますが、一般的な事業用定期借地権設定覚書、他のコンビニエンスストア、スーパー等でも賃料支払は「開店日」からとなっているのでしょうか。公正証書を締結して確定の契約となった時点から、工事は始まり土地を使用収益していることになると考えますが、賃料支払を「契約締結の日」からとするよう条文の修正を交渉することは不可能でしょうか?
今の段階で、駄々をこねるつもりはありませんが、6ケ月(半年)は長すぎると感じました。できましたら、あるコンビニエンス・ストア、スーパー等の事業用定期借地権設定覚書では賃料支払開始時期はこうなっているという事例をお教え頂けませんでしょうか。契約相手方の名前を出すことが不可能であれば、一般的な事業用定期借地権設定覚書の話として、法律の専門家の方からのご教授をお願い申し上げます。

事業用定期借地権設定覚書の賃料支払開始時期についてお教え下さい。u2iwillfollowyouと申します。宜しくお願い致します。
あるコンビニエンス・ストアから、私が所有する土地に20年間の事業用定期借地権設定契約を締結したいという話があります。「まず最初に契約するのは、公正証書を締結する前の覚書になり、公正証書の締結については、2015年の3月までを目途に考えており、公正証書を締結して確定の契約となる。」とのことです。
事業用定期借地権設定覚書の賃料の条項では、開店日から賃料を支払うこ...続きを読む

Aベストアンサー

「開店日から」だとすれば、それまでの間、工事しなければならず、建物も建築する必要があります。
当然ながら、土地の引渡しは、開店前に引渡を終えていないとなりません。
そうしますと、引渡の日から開店の日までの間は損害が生じます。
私ならば、その間は「地代相当損害金」を請求します。
開店日からは、契約書り記載されている賃料となります。
実は、裁判などの場合は「地代」と「地代相当損害金」は別に請求しているのが実情です。
なお、額は、必ずしも開店日からの地代でなくてもいいわけです。
双方の話し合いでいいわけです。
大手企業の横柄なやり方に合意する必要はないと思います。

QPerlでCGIを書いておりますが、特定のURL(ディレクトリ)の位置データを取得するには?

PerlでCGIを書いております。
http://test.com/a/test/index.cgiにアクセスしているときに、perlがaを取得して、http://test.com/b/test/index.cgiにアクセスしているときbを取得する良い方法は有るのでしょうか?WindowsとLinuxの両方で動作できれるものがあれば宜しくお願いします。
WindowsとLinuxではディレクトリの感じが違うようなので1個の方法で実現できれば助かります。

Aベストアンサー

質問の意図がいまひとつ。。。(^^;)

環境変数 DOCUMENT_ROOT を参照すれば、

a/test/index.cgi が動作している、*本当の*パスを取り出すことができます。
ここから、/a/test/index.cgi を取り出してください。
環境が分からないので、どこから取り出せば良いのか。と言うことは分かりませんが、/public_html より右側にあるものを取得すれば良いのでは無いかな。と思います。

> bを取得

の部分の質問の意図がさっぽり分かりません。
/b/test/index.cgi はどの様に決定される。と言う予定で居られるのか分からないと、アドバイスできません。

また、

> WindowsとLinuxの両方で動作

と言うのは、Webサーバーが、Windows と Linux にインストールされている。と言う意味でしょうか?
サーバーの種類が分かりませんが、環境変数 DOCUMENT_ROOT が参照できる可能性が高いと思いますし、、/public_html より右側にある文字列を、パスとして取得すれば良いのだと思います。

質問の意図がいまひとつ。。。(^^;)

環境変数 DOCUMENT_ROOT を参照すれば、

a/test/index.cgi が動作している、*本当の*パスを取り出すことができます。
ここから、/a/test/index.cgi を取り出してください。
環境が分からないので、どこから取り出せば良いのか。と言うことは分かりませんが、/public_html より右側にあるものを取得すれば良いのでは無いかな。と思います。

> bを取得

の部分の質問の意図がさっぽり分かりません。
/b/test/index.cgi はどの様に決定される。と言う予定で居られる...続きを読む


人気Q&Aランキング

おすすめ情報