2010-12-20 21 views
4

私の質問は簡単です:PHPスクリプトの実行時間を知りたい。この上、私はcron経由でそれを実行しています。さて、PHPコード自体で何かを実行して、実行時間を開始/終了させることができましたが、cronコマンドを使って何かがあったのかどうか分かりました。現在、私が使用していますCron Job PHPスクリプト実行時間レポート

私のスクリプトを実行し、すべてのエラー/出力は私に電子メールで送信取得を停止し
/usr/bin/php -q httpsdocs/folder/script.php > /dev/null 2>&1 

。何とか私に電子メールで送信された実行時間を得るために上記を変更することはできますか?

おかげ

答えて

3

あなたはtimeコマンドのように使用することができます:あなたはcronジョブの実行時間を変更することができます与えられたスクリプトで

/usr/bin/time /usr/bin/php -q httpsdocs/folder/script.php > /var/log/crontiming 
+0

良いニュースは、私はいくつかのmsのタイミングを持っています。悪い知らせは、彼らが正しいほど小さかったということです。また、/ var/log/crontimingにアクセス権が拒否されました。 – mootymoots

+0

cronを実行するユーザーは '/ var/log/crontiming'に書き込む権限を持っていますか? – ncuesta

+0

ログに記録するのではなく電子メールで受け取ることはできますか? – mootymoots

5
/usr/bin/time /usr/bin/php -q httpsdocs/folder/script.php 
| mail -s "Some Subject" [email protected] 

:-)

+0

それは私に空のメールを送ります:) – mootymoots

+0

'>/dev/null 2>&1'部分を削除してください。 – ncuesta

+0

あなたは正しいですが、私は単にスクリプトのパスの後にすべてを削除しました。それはncuesta状態としてmailtoにデフォルト設定されています – mootymoots

1

$aCronList = array(); 
$result = -1; 
exec('crontab -l', $aCronList, $result); 
foreach($aCronList AS $item) 
{ 
    // Find what you want, replace the times 
} 

$sCronList = implode(PHP_EOL, $aCronList); 
exec('crontab < ' . $sCronList); 
関連する問題