
Fedora8の環境でcronの設定をしましたが思い通りに動いていないみたいなので教えてください。
まず、cronの設定は
crontab -l
SHELL=/usr/bin/perl
*/5 * * * * root /var/www/cgi-bin/test.cgi
です。
このtest.cgiは、コマンドラインで./test.cgiとすると同じディレクトリ内のファイルに動作した時間とその旨のログを追記します。
perlで書いてあり、現在の属性は755 ftpuser:ftpuserとなっています。
とりあえず5分間隔で動作するように設定したつもりです。
しかし、いくら待てどもそのログファイルに追記されません。
ちなみに、/var/log/cron には
CROND[3511]: (root) CMD (root /var/www/cgi-bin/test.cgi)
なカンジで5分ごとにログが出ています。また、5分毎にメールが来ていて(Cronデーモンから?)
/var/www/cgi-bin/test.cgi syntax OK
と記載されています。
test.cgiからログを吐かせるには何が必要かご教授願います。
No.3ベストアンサー
- 回答日時:
同じようにやったところ再現しました。
原因は、> SHELL=/usr/bin/perl
にあります。
SHELL=/bin/bash に戻し、chmod a+rx /var/www/cgi-bin/test.cgi するか、
*/5 * * * * root /usr/bin/perl /var/www/cgi-bin/test.cgi
に変えましょう。
どうも cron は、crontab に登録されたコマンドを -c オプションをつけ
て実行しているようです。そのため SHELL を /usr/bin/perl に変えると
実行されるコマンドは
/usr/bin/perl -c "/var/www/cgi-bin/test.cgi"
のようになり、文法チェックだけが行われるようです。
わざわざ再現試験までしてくれたんですか!!
ありがとうございます!
ご指摘の通り、shellを戻したところ5分間隔でログを吐くようになりました。chmodは777にしてたのを一応755に戻しました。
cronで定期的に起動するのに文法チェックだけしてるなんてよくわからない仕様ですね。勉強になりましたありがとうございました。
No.2
- 回答日時:
もしかして吐き出すログファイルは間接パス指定にしていませんか?
もしそうだったら絶対パスにしてオーナー及びパーミッションにも注意してみてください。
No.1
- 回答日時:
test.cgi の一行目は、どう書かれていますか。
#!/usr/bin/perl -cw
のようになっていると、文法チェックだけを行うので、
#!/usr/bin/perl -w
に変更しましょう。
この回答への補足
ありがとうございます。
現在のCGI一行目は#!/usr/bin/perl
になっています。
-wとかってデバッグ用かなんかのオプションですか?
試してみたところcgiの途中で
Use of uninitialized value in string
だと言われましたが、コマンドラインから実行した結果は変わらず
また、cronの結果も変化ないようです。これは何を意味しているのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
UNIX コマンドにおける # や円...
-
Linux のシェルスクリプトの強...
-
ファイル名一覧の印刷
-
IPアドレスだとPingが通るのに...
-
net use /d の強制実行
-
SONYの音楽ソフト「x-アプリ」...
-
「環境変数名の編集」ウィンド...
-
PowerShellのスクリプト実行に...
-
LD_LIBRARY_PATHって?
-
Dirコマンドでフォルダ内ファイ...
-
pingは正常なのにtracerouteで...
-
compressコマンドってなくなっ...
-
Linux環境 grepで改行コード(CR...
-
ラズパイで『’test.service’をs...
-
cshでエラー出力を出さないよう...
-
emacsでCtrl+zを押してサスペン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スクリプトのエラー「unexpecte...
-
bashでシングルクォート内の変...
-
シェルスクリプト実行で”そのよ...
-
Linux 月を英語表示したい
-
crontabでsql/plusの起動
-
sudoでシェルスクリプトを実行...
-
apachectl start command not f...
-
cronでifconfigコマンドを使用...
-
CygwinでX Windiws Systemが起...
-
Linuxでシェルスクリプトがフル...
-
ldapaddコマンドでエラー
-
homebrewにパスを通す方法
-
Ubuntuの『sudo visudo』コマン...
-
cron(javaプログラム)からroot...
-
ロケールをutf8からsjisにする...
-
cronでシェルスクリプト実行時...
-
UNIXのbashエラーでnot a valid
-
Linuxで自作バッチファイルの置...
-
hp-uxで時間(時計)を合...
-
データセットを使えるようにし...
おすすめ情報