跑到我有一臺服務器在我的房間裏有一個Core Duo的處理器和基本的互聯網(沒有什麼花哨)PHP腳本從crontab的時間跑了出來,如果其他腳本在同一時間
我運行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);
源我知道劇本沒有完成,因爲柏油備份不會在我的S3存儲桶出現。但是tar文件被創建並且仍然在我的/home/me/temp_db_backups
中,所以我知道該腳本在$s3-putObject
執行時終止。
可能嘗試增加php.ini中的max_execution_time(可能是/etc/php.ini)。 –
這不會幫助,因爲cli max_execution時間被硬編碼爲0 – user784637