2012-05-04 2 views
1

で走っている場合、私は、デュオコアプロセッサを搭載した自分の部屋で、サーバとの基本的なインターネット(ファンシー何も)PHPスクリプトは、外のcrontab回から走った他のスクリプトを同時に

を持って、私はUbuntuの11.04を実行していることだし、私はcrontabからPHPスクリプトを実行しています。

0 3 * * * php back_up_to_s3.php 

このスクリプトは実行に約20-30分かかります。しかし、crontabから実行するとうまく動作しますが、実行するのに5〜10分かかる他のスクリプトと同時に実行するとうまく動作します。

終了しません。私の推測はタイムアウトだということです。ここで私はタールを塗ったバックアップが私のS3バケットには表示されませんので、スクリプトが終了していません知っているback_up_to_s3.php

include('Zend/Service/Amazon/S3.php'); 
include("connect_to_database.php"); 

$my_aws_key = '******'; 
$my_aws_secret_key = '******'; 
Zend_Service_Amazon_S3::setKeys($my_aws_key, $my_aws_secret_key); 
$s3 = new Zend_Service_Amazon_S3(); 


$fileName = exec("date +'%m_%d_%y'") . '.tar'; 

$filePath ="/home/me/temp_db_backups/$fileName"; 

exec("mysqldump -h localhost -u root -ppassword DATABASE_NAME > $filePath"); 

$s3->putObject('myBucket/' . $fileName, file_get_contents($filePath), 
    array(Zend_Service_Amazon_S3::S3_ACL_HEADER => 
      Zend_Service_Amazon_S3::S3_ACL_PRIVATE,    
      Zend_Service_Amazon_S3::S3_CONTENT_TYPE_HEADER => 
      'audio/mpeg' 
));     

unlink($filePath); 

の源です。しかし、tarファイルが作成され、まだ/home/me/temp_db_backupsにあるので、$s3-putObjectが実行されている間にスクリプトが終了することがわかります。

+0

確実に知ることができます場合はおそらく大きくしてみてくださいphp.iniのmax_execution_time(おそらく/etc/php.ini)。 –

+0

cli max_execution時間が0にハードコードされているので、これは役に立ちません – user784637

答えて

1

こんにちはレッド・ツェッペリン(疑い私はすべての代わりに起こって何ができるかを推測するの
は、ログファイルに出力をリダイレクト:)と言うようになるだろうと、あなたが

 
0 3 * * * php back_up_to_s3.php >/tmp/backup_cronoutput 2>&1 
0 3 * * * php do_this.php >/tmp/do_this_cronoutput 2>&1 
0 3 * * * php do_that.php >/tmp/do_that_cronoutput 2>&1 
+0

ありがとうkevin、私はあなたの助言に続き、他の人々が直面した共通の問題にエラーメッセージをたどった。 – user784637

関連する問題