• 締切済み

cronの稼動時刻について

質問させていただきます。 cronで22時にメール送信処理が入っているphpファイルをキックし、メール送信するフローになっています。 このphpプログラムを手動で叩くとリアルタイムでメール送信され、あて先に自身を入れておくとリアルタイムで受信します。 しかし、cronでキックされたphpプログラムにより送信されたメールはなぜか翌朝の10時に受信します。 サーバー内のログには22時に実行されたログが残っております。 この謎の意味がわかる方がおりましたらお助けください。

みんなの回答

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.2

> 12時間後を指定して送信するような処理を特に入れているわけではないのに、12 > 時間後に送信処理がかかるということがありえるのかが焦点になっております。 ですので、メールヘッダの Recieved 行を見れば、いつメールが送信された のかがわかります。つまり Recieved 行に cron で php プログラムをキック した時刻が入っていれば、その時刻に php プログラムからメールが 送信されています。

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

届いたメールのメールヘッダに、Recieved で始まる行があります。 ここをみれば、どのサーバで遅延しているかがわかります。 メールヘッダの表示のさせ方は http://help.mag2.com/725.html が参考になります。

wf3255
質問者

お礼

ありがとうございます。 メールの遅延ではないようです。 怪しいのはphpのプログラムになりそうですが、 12時間後を指定して送信するような処理を特に入れているわけではないのに、12時間後に送信処理がかかるということがありえるのかが焦点になっております。 何かお分かりになられればどうかお願いします。

関連するQ&A

  • cronで動かすと保存されなくなる

    レッツPHPさんの写メールBBSを使わせていただいています。 送られてきたメールを解析し画像とログを保存するプログラム(pop.php)だけを 使いPOP3サーバのアドレスやパスワードなど設定し、携帯から送信しました。 そしてpop.phpにアクセスするときちんと画像と送信内容が書き込まれました。 これを利用して、cronで一定時間にpop.phpを起動させているのですが、 保存も送信内容も書き込まれません。 また、cronとは別なアドレスを用意し指定する宛先にメールが届いたらpop.phpを起動するというのも試しましたが保存されません。 ―――――――――― フォルダ構成です pop.php  //受信・解析 data/s //画像 mail.cgi //送信内容保存ファイル ―――――――――― また、どちらも動いています。(動いているか確認するために自分宛にメールを送信する処理を加えてみました。) WEBからアクセスするのとcronなどでプログラムを呼び出すのは違うのでしょうか。 エラーもなくWEBからアクセスすると保存されるので悩んでおります。 どなたかご教授いただけませんでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • CentOSでcronからphp mail送れない

    こんにちは。 CentOSでcronの設定をしました。 */2 * * * * /usr/local/bin/php -f /usr/mail.php 1> /usr/log.txt 上記でmail.phpは2分置きに実行されていますが、 mail.php内のmb_send_mail関数がどうしても実行されません。 (ログよりmail.phpは実行されています。 print出力により確認) コマンドから直接 php /usr/mail.phpで実行するとメールは送信されます。 Centos 6.3 php 5.3.3 Cronでphpのmb_send_mailを実行する際には何か設定がいるのでしょうか。 アドバイス等ありましたら、よろしくお願いします。

  • cronでphpを実行できない

    cronでphpを一部実行できない状態です 試しにメール送信処理のphpを作りcronで実行しまして送信できました しかし、mysqlで情報を取得しそれをメール送信するphpをcronするとNGです。 上記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ジョブ

    cronの実行時間は、/var/spool/corn/ユーザ のファイルで 時間が記述されているので、実行される時間はわかるのですが、 cronで、ある1つのシェルスクリプトが起動した時間から終了までかかった時間を知りたいのです。 (timeコマンド、メール送信による判断は無しでお願いします。) linuxのどこかのログファイルに、cronのシェル1つ1つのジョブの終了時間が記述されている ファイルはないでしょうか?(可能であれば、実行時間もわかるとよいのですが。) ご教授お願いします。

  • メール送信時刻

    ある方から時々、メールを送ってもらっていますが、その送信時刻が謎です。 1)PCのアドレスで受けるとリアルタイムに受信するが、時刻が9時間早く表示される。 2)携帯のアドレスで受けるとリアルタイムの時刻に正しい時刻表示で受信する。 ヘッダー情報から見るに、送信元はMac版のOutlookExpless5.02を使用しているようです。 また途中の経由サーバの時計は合っているようなので、おそらくは送信元のPC時計タイム ゾーンの未設定かなと思うのですが、では何故携帯では正しい表示が出るのでしょうか? 当方はPCではYahoo!メールを使用しています。 携帯はドコモです。 お暇のあるときで結構です。よろしくお願い致します。

  • xreaでのCronの設定について

    xreaでのCronの設定について どうしても解決出来ないので質問させて頂きました。 やりたい事は毎時一回 /public_html/cache_cron.phpを稼働させたいです。 現在の設定はxreaのCRONジョブの編集画面にて 分 時 日 月 曜日 0 * * * * /virtual/*****/public_html/cron1.sh 分 時 日 月 曜日 0 * * * * /virtual/*****/cron1.sh 始めは上の設定だけだったのですが動かないので下の設定も追加しました。 cron1.shは /public_html/cron1.sh /cron1.sh の両方にアップしています。 これも始めは/public_html/cron1.shだけにアップしてたのですが動かなかったので追加でアップしました。 アップ方法はffftpでのアスキーモードでcron1.shの改行もLFです。 パーミッションは705です。 cron1.shの中身は #!/bin/sh #PHP /usr/local/bin/php /virtual/*****/cache_cron.php /usr/local/bin/php /virtual/*****/public_html/cache_cron.php exit です。 cache_cron.phpにブラウザで直接アクセスすると希望通りの処理は行われます。 このファイルのパーミッションも705です。 一応確認でcache_cron.phpの最後に自分の携帯にメールを送信するプログラムも追加しているのですが、 直接アクセスしない限りメールは来ません。 他に必要な情報があれば書くので宜しくお願い致します。

    • 締切済み
    • PHP
  • PHPの定期実行[ Linux&cron ]

    Redhat9.0 PHP4.3.3を利用しています。 cronとコマンドライン版のPHPを利用して「1分毎に自分にメールを送る(実験用)」プログラムを実行させたいのですが、コマンドラインでは実行可能なのに、cronに登録してもメールが送られてきません。cronにはプログラムを実行したログが残っています。 完全に行き詰ってしまった。よろしくお願いします。 [ crontab ] * * * * * php /home/hoge/mail.php [ mail.php ] mb_language("Ja"); mb_internal_encoding("SJIS") ; $subject="test"; $content = "test"; $mailfrom="From:hoge@hoge.jp"; $mailto="***@hoge.com"; mb_send_mail($mailto,$subject,$content,$mailfrom);

    • ベストアンサー
    • PHP
  • cronで外部ファイルへアクセス

    はじめまして。分からない事あり、質問させて頂こうと、アカウントを取得いたしました。 cronが使える共有レンタルサーバー内に、ある簡単なメールが送信されるファイルを置きました。cronテストのために設置したファイルで、アクセスされるとメールが送信されるだけのものです。(ブラウザ経由でアクセスしてもメールが送信されます) そこで、以下のようなファイルを作成し、cronにて日時設定を行うと、正常にメールが配信されるまで確認いたしました。(mail.phpとは上記メール配信ファイルです) #!/bin/sh #PHP /usr/local/bin/php /~~~~~~/cron_test/mail.php exit 他方、あるレンタルサーバーを借りているのですが、そこではcronが使えません。 そこで、アクセスされたらPHPが働くファイル(access.phpとします)を置き、cronが使える上記サーバーで定期的にそのaccess.phpにアクセスしたらどうか?と考えに至りました。 要は、cronが使えない以下のサイト(ファイル)にcronを使ってアクセスしたいといった感じです。 http://○○○.com/access.php ここで質問なのですが、上記のような一連のcronの中で、mail.phpにあたるスクリプトはどのようなものになるのでしょうか? echo"<img src=\"http://○○○.com/access.php\">"; と記述しているのですが、失敗に終わってしまいます。 前置きが幾分長くなってしまいましたが、この外部ファイルをアクセスするためのソースが分からず困っている次第です。 お忙しい中恐縮ですが、アドバイスのほど宜しくお願い致します。

    • 締切済み
    • PHP
  • cronが実行されているのに動作しない

    phpファイルをcronで設定したのですが動作しません。 『cat /var/log/cron』にて確認をすると正常に実行されています。 実行はされているが、処理されないということになります。 何がだめなのでしょうか? cron設定 * * * * * /user/bin/php /var/www/public_html/test/mail/test.php test.php <?php require( '/var/www/private_html/test/data.php' ); $to_mail = "test@****.jp"; $m_title = "cronテスト"; $s_name = "メールテスト"; $return_mail = "test@****.jp"; mb_language( 'ja' ); mb_internal_encoding("utf-8") ; $subject = "$m_title"; $headers= "From:" .mb_encode_mimeheader( $s_name ) ."<" .$s_mail .">"; $return_path = '-f' . $return_mail; $body = "メール送信テスト\n\n"; mb_send_mail( $to_mail, $subject, $body, $headers, $return_path ); ?> 以上のphpファイルをcron設定しており、 URLを直接たたくとphpファイルは処理されることも 確認済みです。 cronからの実行だとなぜファイル処理がなされないのでしょうか? 原因がわかりません。 よろしくお願いします。

    • ベストアンサー
    • PHP