• ベストアンサー

CronのログでのURLの半角スペースについて

いつもお世話になります。 クーロンを動かした際のログに、 Mar 10 06:00:01 …(root) CMD (/usr/bin/php /var/www/html/….php) というように【/php】の後ろに半角スペースがついているのですがこの状態でも正しく動作するのでしょうか? クーロンが実際動作していない気がするため上司に意見を言おうと思うのですがこの質問自体が「半角スペース含んでも問題ない」ということだったら恥ずかしいので先に質問させて頂きました。 アドバイス頂けたら幸いです。 よろしくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

あらら、コピペしたら、表示がおかしくなりました。 すいません。以下のつもりで書きました。 /usr/bin/php というコマンドに対しての引数として /var/www/html/….php を指定しているのであれば、これで正常です。 逆に、 /usr/bin/php/var/www/html/….php で実行してしまったら、 「そんなファイルはありません」的なエラーになるはずですよ。

その他の回答 (1)

回答No.1

/usr/bin/php というコマンドに対しての引数として /var/​www/html/​….php を指定しているのであれば、これで正常です。 逆に、 /usr/bin/php/var/​www/html/​….php で実行してしまったら、 「そんなファイルはありません」的なエラーになるはずですよ。

関連するQ&A

  • fedora11でのcron設定

    fedora11,apache,php5の環境でcronを使いたいのですが、動きません。。 状況が、 fedora11 php5 apache を使用していて、cronを使ってphpの定期実行を行いたいのですが、どうしてもうまくいきません。 かなりググってはみたのですが、liuxについては初心者なので、どうにもわかりません。 設定内容が、 /etc/crontabが、 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ * /1 * * * * apache /usr/bin/php /var/www/html/cron.php で、/var/log/cron でログを確認したところ Jul 28 19:00:01 host CROND[8417]: (apache) CMD (/usr/bin/php /var/www/html/cron.php) となっていてこれが一分ごとに出てきます。 cron.phpにはファイル追記の処理を書いてあります。 エラーではないようなのですが、ファイル操作が行われていないようなので動いていないようなのです。 ローカルホストでphpを実行したらちゃんと動くのでphp内のミスではないようです。 パーミッション関係だったらログにエラーが出そうなものですし、、、。困っています。。 どなたかお知恵を貸していただけませんでしょうか、よろしくお願いします。

  • cronがうまく動作していないっぽいです。

    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からログを吐かせるには何が必要かご教授願います。

  • PHPをバージョンアップしたらCRONが動かない

    CentOSとPHPをバージョンアップしたら、CRONだけが動かなくなってしまいました。 PATH関係が変わったことが問題のような検討がつくのですが、いろいろ試してもうまくいきません。どのように解決したら良いか教えていただければと思います。 [バージョンアップ内容] CentOSを5.3から5.7にバージョンアップ PHPを5.1.6から5.3.3にバージョンアップ phpMyAdmin3.4.8をインストール MySQL 5.0.77(バージョンアップせず) バージョンアップ前には ・PHPからMySQLにデータを登録するプログラムは動作していた。(ウェブサイト形式で動作確認) ・上記のプログラムはCRONで動いていた。(CRONでも動作確認) PHP5.1.6の時はCRONに下記のように登録していました。 10 * * * * /usr/bin/php /var/cron_file/test_cron.php アップデート後にウェブサイト形式でプログラムが動くことを確認しました(ページを開くと下記のプログラムが動作し、データをMySQLに登録) phpMyAdminも問題なく動きます。 CRONの問題点を探し出すために下記のことを行いました。 CRONのステータスを確認 # /etc/rc.d/init.d/crond status crond (pid 32151) を実行中... CRONをリスタート # /etc/init.d/crond restart crond を停止中: [ OK ] crond を起動中: CRONのエラーの確認 # vi /var/log/cron PHPの場所の確認 # find / -name php /usr/share/php /usr/include/php /usr/bin/php /usr/lib64/php /var/lib/php どれがPHPの場所なのかがわからないので、とりあえず5.1.6の時に指定していた「/usr/bin/php」を採用 このあたりはネットで情報を探して、登録してみたので正しいのかどうかよくわかりません。↓ PATHの記入 (その1) # vi /root/.bash_profile PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin export PATH (その2) #vi /etc/profile PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin export PATH PATHの確認 # env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/php (上記以外にもいろいろいじっていたら、このようになってしまいました。上記以外のところでどこで設定したかがわからないので、PATHを消す方法も教えていただければと思います) 「/usr/kerberos/sbin:/usr/kerberos/bin」はもともとシステムで登録されていたもので、上記で登録した「/sbin:/usr/sbin:/bin:/usr/bin」以外のもの「/usr/bin/php」などはどこで登録したかわからなくなってしまったものです。 CRONでPATHを指定する部分でPHPのバージョンによりPATHの値が異なるという情報を見つける /usr/bin/php /usr/bin/php5 /usr/bin/php53 各パターンで 「10 * * * * /usr/bin/●● /var/cron_file/test_cron.php」 をcrontab -eに登録してエラーを見てみる。 (1)「*/1 * * * * /usr/bin/php /var/cron_file/test_cron.php」 # vi /var/log/cron →エラーに何も表示されない (2)「*/1 * * * * /usr/bin/php5 /var/cron_file/test_cron.php」 → エラーに何も表示されない。 (3)「*/1 * * * * /usr/bin/php53 /var/cron_file/test_cron.php」 →エラーが表示される Dec 16 20:20:01 ドメイン crond[11412]: (root) CMD (/usr/bin/php5 /var/cron_file/test_cron.php) クローン自体は動いていて、エラーがでているような感じは把握できたのですがここで行き詰まりました。 PHPのパス関係か、MySQLのパス関係、PHPとMySQLの連係、そのあたりのどこかが原因なのでしょうか? 参考資料としてphpinfo()の情報を記載します。 Loaded Configuration File  /etc/php.ini PATH /sbin:/usr/sbin:/bin:/usr/bin 参考)プログラムの内容 --------------------------------------------- require_once ('/var/DB接続情報保存ディレクトリ/password.php') try { $dbh = new PDO($DSN , $DBUSER , $DBPASS); $query=<<<EOF INSERT INTO test (name) VALUES (:name) EOF; $stmt = $dbh->prepare($query);    $name='斉藤太郎'; $stmt->bindParam(':name', $name); $stmt->execute(); }//try_end catch(PDOException $e) { print "Error!: " . $e->getMessage() . "<br>"; die(); }//catch_end ---------------------------------------------

    • ベストアンサー
    • PHP
  • PHPファイルをcronで定期的に実行したい

    centosでtest.phpを30分おきに動作させようと思います。 test.phpは /var/www/html/においてあります。 test.phpはコードの中で、require_once 'phpkit/kits.inc';と /var/www/html/phpkit/kits.incを呼び出しています。 [root]# find / -name php /root/src/senna-1.1.4/bindings/php /usr/share/swig/1.3.40/php /usr/share/php /usr/bin/php /usr/include/php /usr/lib64/php /var/lib/php [root]# /etc/rc.d/init.d/crond status crond (pid 1181) is running... [root]$ crontab -e 30 * * * * /usr/bin/php /var/www/html/test.php しかし、以上のように設定してもtest.phpは一度も実行されません。 phpのインストールは、ここの「PHPをソースからインストール」を利用しました。 http://www.akiyan.com/blog/archives/2008/09/tritonnmysqlsen.html /var/www/html/にinfo.phpを置いてアクセスしたところ、正常に情報が表示されます。 /var/www/html/にtest.phpを置いて、手動でアクセスしたところ、test.phpは正常に動作します。 ですので恐らくcrontabの設定が間違っているのだと思いますが、これ以上どうすればいいのかがわかりません。 cronでtest.phpを動作させるのに、この後どうすればいいのでしょうか。 どなたかご教示のほど、どうかよろしくお願いします。

  • PHP

    PHPで移動させるのが失敗してます。どうしてですか? /* テンポラリのクーロンの設定をして本番のクーロンに設定をする $cmd = "/usr/bin/sudo chown root:root ".TEMP_PATH; exec($cmd, $output, $return); $cmd = "/usr/bin/sudo cp -f ".CRON_DAILY_ESTAB." ".CRON_DAILY_ESTAB.".bak"; exec($cmd, $output, $return); $cmd = "/usr/bin/sudo mv -f ".TEMP_PATH." ".CRON_DAILY_ESTAB; exec($cmd, $output, $return);

    • ベストアンサー
    • PHP
  • さくらVPSでcron指定はsh? php?

    これまで別のレンタルサーバで動作していたcronをさくらVPSでも動作させたいのですがうまくいきません。 ■これまで(レンタルサーバ) 1.cronにshファイルを指定 2.shファイル cd /var/www/★★ /usr/local/bin/php -d include_path='.:./●●.php ■今回(さくらVPS) /etc/crontab/ 05 7 * * * root /usr/bin/php /var/www/■■.sh ・どうしたら動作するでしょうか? ・/etc/crontab/の指定先は「phpファイル」「shファイル」の何れを指定するのでしょうか?

  • 2時間おきに時刻を新規ログに書き込む

    Linuxで2時間おきに時刻を新規のログに書き込みたいのですが、 うまく表示されません。 syslog.confに新しく2時間おきに時刻を書き込むログを加え、 新規ログに Sep 18 07:00:01 tky015 logger: 只今の時刻は 7時00分です Sep 18 08:00:01 tky015 logger: 只今の時刻は 8時00分です Sep 18 09:00:01 tky015 logger: 只今の時刻は 9時00分です Sep 18 10:00:01 tky015 logger: 只今の時刻は 10時00分です Sep 18 11:00:01 tky015 logger: 只今の時刻は 11時00分です という風に表示させたいです。 新規ログをtest.logとし、メッセージの表示はシェルを使用し、以下のようになりました。 ファイル名はtime.shです。 #!/bin/sh MESS='只今の時刻は' DATE1=`date "+%k"`'時' DATE2=`date "+%M"`'分' MESS=$MESS$DATE1$DATE2'です' logger -f /var/log/test.log $MESS 2時間おきに時刻を表示させるためにcronを使い、 * */2 * * * /bin/sh /root/time.sh syslog.confには、 #2時間おきに時間を書き込むログ cron.*         /var/log/test.log というふうにやりましたが、 時刻は/var/log/messagesに書き込まれてしまい、/var/log/test.logには Sep 17 07:00:01 tky015 crond[6480]: (root) CMD (/bin/sh /root/tanaka.sh) Sep 17 08:00:01 tky015 crond[6486]: (root) CMD (/bin/sh /root/tanaka.sh) Sep 17 09:00:02 tky015 crond[6492]: (root) CMD (/bin/sh /root/tanaka.sh) Sep 17 10:00:01 tky015 crond[6499]: (root) CMD (/bin/sh /root/tanaka.sh) Sep 17 11:00:01 tky015 crond[6506]: (root) CMD (/bin/sh /root/tanaka.sh) というふうに書かれてしまいます…。 syslog.confの書き方が間違っているんじゃないのかなと思うのですが、 どうすればいいのかわかりません。 OSはCentOS05です。 初心者ですので分からないこともあるかも知れませんが、 どなたかご教授ください。 よろしくお願いします。

  • LinuxのPHPのパス

    Linuxのレンタルサーバーで、PHPのパスを調べたのですが、以下のように2つ出てきました。 # whereis php php: /usr/local/bin/php /usr/local/php /usr/local/bin/phpは /usr/local/php5/bin/php-cli-5.2.9につながっていました。 /usr/local/phpの中身はこんなかんじでした。 drwxr-xr-x 2 root root 4096 Jul 2 16:29 bin drwxr-xr-x 2 root root 4096 Jun 25 12:13 etc drwxr-xr-x 3 root root 4096 Mar 17 10:28 include drwxr-xr-x 3 root root 4096 Jul 2 16:34 lib drwxr-xr-x 3 root root 4096 Mar 17 10:29 man drwxr-xr-x 3 root root 4096 Nov 15 2007 php PHPのパスはどちらですか?

    • ベストアンサー
    • PHP
  • cronが動かない

    cronからphpスクリプトを動かそうと設定したのですが動きません。 エラーメールやエラー表示もされません。 phpスクリプト自体は、cronを使わず手動なら動作しています。 どこか設定に異常個所などがあればご指摘やアドバイスなど頂きたいと思います。 以下に設定内容を記載します。 【crontab】 # crontab -u testuser -e 0-59/5 * * * * /usr/bin/php -q /home/testuser/public_html/mail.php 2>&1 0-59/10 * * * * /usr/bin/php -q /home/testuser/private_html/mail.php 2>&1 【cron確認】 # ls -l /var/spool/cron/ -rw------- 1 root root 251 4月 17 15:25 testuser -rw------- 1 root root 71 4月 16 18:28 root 【mail.php】 #!/usr/bin/php <?php $tim = time(); $today = gmdate("Y/m/d(D)",$tim+9*60*60); $now = gmdate("Y/m/d(D) H:i",$tim+9*60*60); mb_language("Ja") ; mb_internal_encoding("EUC-JP") ; $mailto="test@****.jp"; $mailfrom = "From:" .mb_encode_mimeheader("cronテスト") ."<" . $mailto .">"; $parameters = '-f' . $mailto; $return_path = "$mailto"; $subject="テストメール"; $body ="クーロンテスト\n"; $body .="送信年月日: $today \n"; $body .="送信時間: $now \n"; mb_send_mail( $mailto, $subject, $body, $mailfrom,"-f $return_path" ); ?> 【パーミッション】 /home/testuser/public_html/  705 /home/testuser/private_html/ 705 /home/testuser/public_html/mail.php 705 /home/testuser/private_html/mail.php 705 rootユーザーでのcronは正常に動いています。 ご教授の程、宜しくお願い致します。

  • cron設定で正常に動作しない

    Solaris8でcronの設定を行っております。 まず /var/spool/cron/crontabs/rootファイルに 30 6 * * * /usr/local/shells/rsync-docs_com.sh を追加しました。 cronのログを確認したところ以下のメッセージが表示されていましたが、実際に処理は動いてなさそうです。 > CMD: /usr/local/shells/rsync-docs_com.sh > root 22386 c (月) 10月 9 06:30:00 2006 < root 22386 c (月) 10月 9 06:30:00 2006 rc=1 スクリプトファイルは処理が実行されるとログを出力するように設定していますがログが出力されません。 # sh /usr/local/shells/rsync-docs_com.sh # で手動で実行すれば正常にログも出力されます。 ------------------------------------------------------------------------ #!/bin/sh LOG_DIR=/home1/WEB_BACKUP/rsync_logs DAYS=30 /usr/bin/find $LOG_DIR -name 'rsync_*.log' -mtime +$DAYS -exec /usr/bin/rm {} \; /usr/local/bin/rsync -av --delete rsync://WWW7/www7-doc /home1/WEB_BACKUP/ www/docs_com >$LOG_DIR/docs_com-`date +%m%d%H%M`.log 2>&1 ------------------------------------------------------------------------ 何が原因か分かりますでしょうか? よろしくお願い致します

専門家に質問してみよう