1

私の部屋にはデュオコアプロセッサと基本的なインターネットを備えたサーバーがあります(空想は何もありません)

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

4

1 に答える 1

1

こんにちは LedZeppelin (私がいつもそう言うかどうかは疑問です :)
何が起こっているのかを推測する代わりに、出力をログ ファイルにリダイレクトすると、確実にわかります。

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
于 2012-05-05T23:54:43.720 に答える