はじめての親子ハイキングに挑戦!! >>

system関数を使いatコマンドで別のCGIを時間指定で動作させたいのですが、
サーバー側でどうしても実行されず困っています。

サーバーに送り込む側のCGIの記述は以下のように記述しています。
===============================================================
#!/usr/bin/perl
$command = "at 22:15 09/20/2007 < /var/www/cgi01nni/mailmg/send.csh";
system $command;
exit;
===============================================================

send.cshは以下のように記述しています。
===============================================================
#/bin/csh
perl /var/www/cgi01nni/mailmg/send2.pl > /dev/null;
exit 0
===============================================================

root権限にてsshでサーバーにアクセスし、以下のコマンドを入力して
実行した際は、send2.plは正常に動作します。
at 22:15 09/20/2007 < /var/www/cgi01nni/mailmg/send.csh

/etc/at.allowはありませんが、
/etc/at.denyはあります。(中身は空)

サーバーに送り込む側のCGIを実行した後に、sshでatqで見ると
以下のように確認ができます。
61 2007-09-20 22:15 a apache

sshで実行した際は、当たり前ですが以下のように最後がrootになります。
61 2007-09-20 22:15 a root

なんとかatを実行させたいのですが、わかる方がおりましたら、
ご教授のほどよろしくお願いいたします。

A 回答 (1件)

> #/bin/csh


send.cshの1行目で「!」が抜けているのも気になりますが、
> perl /var/www/cgi01nni/mailmg/send2.pl > /dev/null;
この書き方だと(apacheユーザから見て)perlが見つからないと実行できません。
perlの呼び出しをフルパスで書いてみてはどうでしょうか。

この回答への補足

ご連絡が遅くなり申し訳ありません。
確かに、!が抜けていますね。( ̄∇ ̄;)
perlのパスもフルパスにして再度確認してみます。
確認次第、ここに再度書き込みします。
よろしくお願いいたします。

補足日時:2007/09/22 15:39
    • good
    • 0
この回答へのお礼

ここの投稿方法がわからなかったので、ここに記載します。

再度以下のように設定しました。

サーバーに送り込む側のCGI
===============================================================
#!/usr/bin/perl
$command = "/usr/bin/at 16:47 09/22/2007 < /var/www/cgi01nni/mailmg/send.sh";
system $command;
exit;
===============================================================

send.csh側
===============================================================
#!/bin/csh
/usr/bin/perl /var/www/cgi01nni/mailmg/send2.pl > /dev/null;
exit 0
===============================================================

結果ですが、やはり動作しない状況です。
sshで以下のコマンド入力すると動作します。
/usr/bin/at 16:47 09/22/2007 < /var/www/cgi01nni/mailmg/send.sh

atqでは、
74 2007-09-22 17:15 a apache
このような感じで表示されます。
いったいどこがおかしいのでしょうか?
色々試してみてるのですが、まったくわからなくなっています。
再度、ご教授をお願いいたします。

お礼日時:2007/09/22 17:20

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


人気Q&Aランキング