で走っている場合、私は、デュオコアプロセッサを搭載した自分の部屋で、サーバとの基本的なインターネット(ファンシー何も)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
が実行されている間にスクリプトが終了することがわかります。
確実に知ることができます場合はおそらく大きくしてみてくださいphp.iniのmax_execution_time(おそらく/etc/php.ini)。 –
cli max_execution時間が0にハードコードされているので、これは役に立ちません – user784637