2010-02-03 1 views
3

매일 MySQL 데이터베이스를 백업해야하며 필자가 선택한 이메일 주소로 전자 메일을 보내야합니다.PHP를 통해 전체 MySQL 데이터베이스 프로그래밍 방식으로 백업 및 전자 메일 보내기

가능합니까? 백업 파일을 생성하는 SQL은 무엇입니까? 이 파일을 보내는 전자 메일에 "첨부 파일"로 추가하려면 어떻게합니까?

도움을 주셔서 감사합니다. 정말 이러한 백업을 만들어야합니다!

나는 cronjob을 통해 스크립트를 호출하는 방법을 알고 있으므로 일상적인 일은 문제가되지 않습니다.

+0

암호를 사용하여 암호화 된 우편 번호 인 GZIP을 사용하는 것이 좋습니다. – TravisO

+2

메일 서버의 수신자와 관리자에게 예의로 파일을 어딘가에 저장하고 (FTP 등) 전체 파일 대신 링크를 전자 메일로 보내기를 고려해야합니다. 제가 일한 한 곳은 언젠가 누군가가 거대한 백업 파일을 가지고 제안했던 것과 똑같이 절름발이였습니다. –

+0

나는 gzip하는 방법을 안다, 나는 그것을한다. 지금까지는 연결이 끊어지면 데이터 손실을 막기 위해 작동하지 않을 수도 있습니다. – Cyclone

답변

3

exec을 사용하면 명령 줄에서 mysqldump을 호출하여 원하는 파일에 데이터베이스 백업을 만들 수 있습니다.

mysqldump -u username -p password databaseName > databaseFile.sql 

PHP에서 파일을 찾고 첨부 파일로 업로드하여 보낼 수 있습니다.

데이터베이스를 안전하게 보내는 것이 전자 메일을 통해 이루어지는 것인지 모르겠다. 내가 제안 할 수있는 대체 솔루션이 있다면 그렇게 할 것이다.

Tom의 의견에 따르면 PHP를 통해 파일을 압축하려면 PHP Zlibcreating GZIP files "on the fly"을 살펴보십시오.

+1

아주 작지 않은 한 타르/gzip을 사용하고 싶을 것입니다. – Tom

10

은 간단히 이렇게 같은 mysql_dump 명령을 명령 쉘에 드롭하고 실행

mysqldump <DB name> -u<user> -p<password> | gzip -c > /backup/`date +%Y-%m-%d`.sql.gz 

을이 시점에서 그냥 메일 명령을 사용할 수 있습니다 (I 모르는 구문을 손에 파일을 첨부 할) .

+0

아르헨티나, 오늘 투표 수가 부족했지만 아주 좋은 답변입니다. 저에게 7 시간을주십시오, 나는 +1로 돌아갑니다 –

+0

또한 웹 호스트의 crontab에서이 방법을 사용합니다. 또한 관련 웹 응용 프로그램 파일도 tar/gzip 처리합니다. – spoulson

+0

이것은 PHP를 통해 작동합니까? – Cyclone

2

자동 MySQL의 백업 스크립트

이 스크립트를 압축, 그들을 백업 개별적으로 서버에 MySQL 데이터베이스의 모든을 발견하고, 지정된 디렉토리 및/또는 당신에게 이메일이에 파일을 저장합니다. 처음 공개 된 이래로 업데이트되었으며 몇 가지 새로운 기능이 포함되어 있습니다. 그것의 그러나

http://www.dagondesign.com/articles/automatic-mysql-backup-script/

+0

단일 데이터베이스를 백업하는 방법이 있습니까? – Cyclone

0

나는

MySQL 데이터베이스 백업 ===================== http://restkultur.ch/personal/wolf/scripts/db_backup

을 사용하는 데 사용 조금 오래되었지만 버전 등을 업그레이드했는지 확신 할 수 없지만 잘 작동하고 파일을 저장할 위치뿐 아니라 보관할 기간 (보관할 일 수, 보관할 위치 등)이 다양합니다. 중복 보안을 위해 FTP를 통해 다른 서버에 업로드).

+0

불행히도 그런 종류의 액세스 권한이 없습니다 – Cyclone

+0

통제권이란 무엇입니까? 내가 FTp 등의 대화로 당신을 오도 한 경우 ... 이것은 WordPress를 설치하는 것처럼 간단합니다. 그것을 업로드하고, mysql 액세스 사용자 이름 암호를 구성하고, db를 선택하고, 주파수를 선택하면 완료됩니다. 기본적으로 .sql 파일은 응용 프로그램 폴더 내에 저장됩니다. 아니면 우리가 아파치 서버에 대해 이야기하고 있기 때문에 "폴더"대신 "디렉토리"라고해야합니까? : P – jeffkee

+0

아니요, 문제는/backups /에 액세스 할 수 있습니다. 내 웹 사이트는/home// – Cyclone