私の部屋にはデュオコアプロセッサと基本的なインターネットを備えたサーバーがあります(空想は何もありません)
ubuntu 11.04 を実行しており、crontab から php スクリプトを実行しています。
0 3 * * * php back_up_to_s3.php
このスクリプトの実行には約 20 ~ 30 分かかります。crontab から実行すると問題なく動作しますが、他のスクリプトと同時に実行すると、実行に約 5 ~ 10 分かかります。
0 3 * * * php back_up_to_s3.php
0 3 * * * php do_this.php
0 3 * * * php do_that.php
終わらない。私の推測では、それはタイムアウトです。のソースはこちら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 されたバックアップが s3 バケットに表示されないため、スクリプトが終了しないことはわかっています。ただし、tarファイルが作成され、まだ私の中に/home/me/temp_db_backups
あるので、実行中にスクリプトが終了することがわかります$s3-putObject
。