2011-02-25 3 views

답변

2

당신은 mysqldump를 수행하는 스크립트를 작성한 다음 파일을 전자 메일로 보낸다. 실제로 누군가에게 당신에게 그러한 스크립트를 제공하도록 요청하고 있는가, 아니면 cron에 넣는 지 묻는가? |

+0

@hey 내가 마크 B의 솔루션을 사용하고, 다른 사람의 솔루션을 사용하여 (의 crontab -e를 사용하여) 크론에 대항 할 것입니다 : D – vmpstr

0

은 당신의 crontab

@daily의 PHP php_file.php에 다음을 포함 mail -E -s "Subject line"[email protected]

mail은 전자 메일을 보내는 프로그램으로 stdin에서 본문을 읽고 -s는 제목을 정의합니다. -E는 본문이있는 경우에만 전자 메일을 보내는 것을 의미하며, 원하지 않을 수도 있습니다.

4

"모든 데이터베이스"는 무엇을 의미합니까? 서버 내에 보유 된 데이터베이스의 목록을 원하십니까? 그 내용물 덤프? 한마디로

mysqldump -p -u username_to_do_dump_with --all-databases | mail [email protected] -s 'database dumps' 

: 당신은 그것에 대해 PHP가 필요하지 않습니다, 당신은 단순히 쉘 스크립트를 사용할 수 있습니다 mysql을 내 보유하는 모든 데이터베이스, 파이프를 덤프 당신에 덤프를 보내는 메일 프로그램, 출력.

물론 많은 양의 데이터가 있다면 (특히 파일을 데이터베이스에 저장하는 경우), 거대한 이메일로 끝날 것이고 이메일로 바이너리 데이터가 있으면 이메일을 보내면 덤프가 손상 될 수 있습니다 . gzip을 통해 덤프를 실행하여 측면을 줄이고 .gz 파일을 첨부 파일로 보내고 싶다면이 간단한 버전보다 조금 더 많은 스크립팅이 필요합니다.

+0

@Marc B : 그것은 나에게 파일을 전송하지 않습니다, 그것은 단지 텍스트를 제공합니다

/*! 40101 SET @OLD_CHARACTER_SET_CLIENT = @@ CHARACTER_SET_CLIENT * /; –

+1

OP의 질문에 대답하지는 않지만, 그냥 덤프하고 gzip하고 다른 컴퓨터에 rsync하십시오. Mail은 백업을위한 올바른 매체가 아닙니다 ... – jeroen

+0

@hey : 파일을 덤프하고 gzip으로 압축 한 다음 쉘 스크립트를 사용하여 파일을 첨부 파일로 보냅니다. 하지만 제 대답에 말했듯이, PHP를 필요로하지 않습니다. 간단한 쉘 스크립트는 PHP보다 훨씬 쉽습니다. –

0

그럼 먼저 PHP 스크립트를 작성하십시오.

그런 다음이처럼 crontab을 무언가에 라인을 넣어 것입니다 :

1 1 * * * path/to/your/script

는 하루에 한 번 스크립트를 실행하려면.

관련 문제