2011-01-03 2 views
4

가능한 중복 :
Suggestions for backing up php site and mysql db전체 원격 백업을 수행 할 수있는 스크립트가 있습니까?

파일 시스템 백업 및 데이터베이스 백업 (바람직 함께 지퍼) 및 원격 서버로 백업을 전송을 할 수있는 PHP 스크립트가 있습니까?

+0

무엇이 파일 시스템 및 데이터베이스 백업입니까? 웹 페이지? 전체 웹 사이트? 전체 서버? 어떻게 보내? 전자 메일? FTP? HTTP? Rsync? 더 구체적으로 귀하의 환경에 대해 더 자세히 알려주십시오. 예 : 많은 가상 호스트 공급자에는 호스팅 된 데이터의 백업을 얻을 수있는 일종의 웹 도구가 있습니다. – thkala

+0

DB와 FTP 파일을 백업하고 함께 섞는 bash 스크립트와 함께 cron을 사용하십시오. 'mysqldump','cp -R' 그리고'zip' –

답변

2

리눅스 명령에 더 나은 도구가 있습니다. PHP exec() 함수를 사용하여 linux 명령에 액세스 할 수 있습니다.

// db 
$db_backup_file = '/home/backup/db_'.date('Y-m-d').'.sql.gz'; 
$command = '/usr/bin/mysqldump -c -h'.DB_HOST.' -u'.DB_USER.' -p'.DB_PASS.' --default-character-set=latin1 -N '.DB_NAME.' | gzip > '.$db_backup_file; 
exec($command); 

// file structure 
$file_structure_backup_file = '/home/backup/files_'.date('Y-m-d').'.tar.gz'; 
$command = 'tar -zcf '.$file_structure_backup_file.' /home/'; 
exec($command); 

당신은 안전한 환경에서 테스트하고 조정할 것입니다. 그런 다음 파일을 ftp 또는 이메일로 보낼 수 있습니다. 또는 cron 작업에 동일한 내용을 넣을 수 있습니다.

+1

당신은 이메일에 심각한 문제가 없습니까? – ajreal

+0

heheh는 규모에 따라 다릅니다. 나는 정기적으로 작은 데이터베이스의 백업을 보내기 위해 이메일을 사용했다. – dqhendricks

+0

음, 내 호스트가 exec를 허용하지 않습니다 ... – xun

관련 문제