Программное резервное копирование (и отправка по электронной почте) полной базы данных MySQL через PHP - PullRequest
3 голосов
/ 03 февраля 2010

Мне нужно ежедневно делать резервную копию базы данных MySQL, и желательно, чтобы она отправлялась по электронной почте на адрес электронной почты по моему выбору.

Возможно ли это сделать? Что такое SQL для создания файла резервной копии? Как я могу добавить этот файл в качестве «вложения» к отправляемому письму?

Спасибо за помощь, мне действительно нужно сделать эти резервные копии!

Я знаю, как вызвать скрипт с помощью cronjob, так что ежедневная работа не проблема.

Ответы [ 4 ]

10 голосов
/ 03 февраля 2010

Просто перейдите в командную оболочку и выполните команду mysql_dump следующим образом:

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

С этого момента вы можете просто использовать команду mail (я не знаю синтаксис от руки, чтобы прикрепить файл).

3 голосов
/ 03 февраля 2010

Вы можете использовать exec для вызова mysqldump в командной строке, чтобы создать резервную копию вашей базы данных в файл по вашему выбору.

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

Затем в PHP вы можете найти файл, загрузить его как вложение и отправить его.

Я не знаю, насколько безопасна отправка базы данных по электронной почте, если есть альтернативные решения, которые я мог бы предложить, я бы.

Согласно комментарию Тома, посмотрите на PHP Zlib и создание файлов GZIP "на лету" для архивирования файлов через PHP.

2 голосов
/ 03 февраля 2010

Автоматический сценарий резервного копирования MySql

Этот сценарий находит все базы данных MySQL на вашем сервере, выполняет их индивидуальное резервное копирование, сжимает и сохраняет файл в указанном каталоге и / или отправляет его вам по электронной почте.Он был обновлен с момента первого публичного релиза и включает несколько новых функций.

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

0 голосов
/ 04 февраля 2010

Я использовал

Резервное копирование базы данных MySQL ===================== http://restkultur.ch/personal/wolf/scripts/db_backup

Однако это немного устарело, и я не уверен, что они обновили версию и т. Д. Но это работает хорошо и дает вам много вариантов резервного копирования (сколько дней хранить, месяцы, а также где хранить файл - его можно загрузить через FTP на другой сервер для обеспечения избыточной безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...