2013-08-01 3 views
0

나는 현재 내 데이터베이스의 일일 백업을 만드는 PHP ChronJob 있고, 스크립트는 다음과 같다 : 그것은 모두가 완벽하게 작동mysqldump를 디버그 정보를 얻기

<?php 
set_time_limit(86000); 
include($_SERVER['DOCUMENT_ROOT']."/pagetop.php"); 
$db = new dbsettings; 
$filename = date("d-m-Y"); 
$output = array(); 
$output = shell_exec("C:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump.exe --user=".$db->username." --password=".$db->password." --host=".$db->hostname." --add-drop-database --add-drop-table --skip-extended-insert --disable-keys --add-locks --force --debug-info ".$db->databaseName." > ".$_SERVER['DOCUMENT_ROOT']."backups/".$filename.".sql"); 
//Write backup log 
$file = fopen($_SERVER['DOCUMENT_ROOT']."backups/backup.log", "a"); 
fwrite($file, "\n\r".print_r($output, true)."\n\r"); 
fclose($file); 
?> 

를 올바른 형식에서 SQL 파일을 생성,

Print debugging information and memory and CPU usage statistics when the program exits.

가 어떻게 제대로 파일에이 정보를 기록 않습니다하지만 난 내 인생 내가 --debug-info 인수에도 불구하고 로그에 디버그 정보를 기록 할 수 없습니다?

+0

--debug [= debug_options], - # [debug_options] 디버깅 로그를 작성하십시오. 일반적인 debug_options 문자열은 'd : t : o, file_name'입니다. 기본값은 'd : t : o,/tmp/mysqldump.trace'입니다. – Hackerman

+0

@RobertRozas 방금 시도한 결과 아파치 에러 로그에서 mysqldump : ERROR : Option 'debug ='d : t : o,/backups/mysqldump.trace ''가 사용 되었으나 사용 불가 '로 표시된다. –

+0

http : /www.mydigitallife.info/how-to-disable-and-turn-off-apache-httpd-access-and-error-log/ – Hackerman

답변

1

이 옵션은 Windows에서 작동하지 않는 것 같습니다. 나는이 정보가 Linux보다이 시스템에서 쉽게 얻을 수 없기 때문에 놀랄 일도 아니며, MySQL 사용자는이 작은 옵션을 포팅하는 것을 걱정하지 않았을 것입니다.

Linux의 경우 디버그 정보가 stderr (일반적으로 2>debug.log 리디렉션을 사용하여이 정보를 캡처합니다)으로 전송됩니다.

+0

누군가가 해결책을 갖고있는 경우를 대비하여 잠시 동안은 그대로 두겠습니다. 그러나 나는 절대적으로 아무 일도 일어나지 않는다는 사실, 오류 메시지가 없다고 생각합니다. 그냥 무시당하는 것 같아서 내가 당신이 옳다고 생각하게 만들 것입니다! –