Отправляем бекап базы на gmail.com

Статус
В этой теме нельзя размещать новые ответы.

EugeneVC

Гуру форума
Регистрация
28 Окт 2007
Сообщения
295
Реакции
84
Раньше меня напрягало, что бекапы базы храняться на том же сервере, что и сайт. Выкачивать каждый день по 10-20 мегобайт мне не хочется. Я решил отправлять ее на gmail.com.

Итак имеем VPS под управлением Linux, в моем случае это Debian.

1) регистрируем аккаунт на gmail.com. Там предоставляется 7 Гб под почту. ПРи размере бекапа базы 10-20M хватит надолго. :)
2) бекап у меня настроен через cron, в 4 утра запускается скриптик типа

Код:
#!/bin/bash

ROOT_PATH=/root/backup

FILE=mysite_ru-`date "+%Y-%m-%d-%H_%M"`.bz2
/usr/bin/mysqldump  -u root -pyour_pass mysite_ru | bzip2 -c > $ROOT_PATH/$FILE

Скрипт делает дамп mysql базы и запаковывает его в bzip файл и кладет в определенное место - откуда его приходилось тянуть.

3) Устанавливаем пакет mpack. В debian и ubuntu это можно сделать командой
apt-get install mpack

4) Модифицируем скрипт

Код:
#!/bin/bash

MAILTO=your_mail@gmail.com

ROOT_PATH=/root/backup

FILE=mysite_ru-`date "+%Y-%m-%d-%H_%M"`.bz2
/usr/bin/mysqldump  -u root -pyour_pass mysite_ru | bzip2 -c > $ROOT_PATH/$FILE

#send mail
mpack -s "$FILE" -c application/octet-stream $ROOT_PATH/$FILE $MAILTO

В результате каждый день в 4 утра мы имеем свежий бекап на почте. Не забываем раз в 1-2 месяца вычищать почтовый ящик.


PS: Я опробовал его на бекапах до 20 Мб. Так же можно и паковать сайты. Для больших обьемов 1Гб я использую rdiff-backup.
 
если база 500мб, такая связка будет работать?
 
Не пробовал - боюсь что нет, нужно бить на атачи. Для таких обьемов нужно делать примерно так

есть mysql_dump_old.sql и mysql_dump.sql - старый и новые дампы соответсвенно

делаем

Код:
diff -u mysql_dump_old.sql  mysql_dump.sql > dump.patch

и уже этот файл dump.patch - кидаем на почту, он гораздо меньше.

Такой инкрементальный бекап получается.
 
Для больших обьемов 1Гб я использую rdiff-backup.
прости а что такое rdiff-backup.?
какой допустимый размер атача при гмейл ? 2 ?
 
rdiff-backup производит резервное копирование одного каталога в другой. Целевой каталог в результате содержит копию исходного каталога. Различия текущей и предыдущей копий исходного каталога сохраняются в отдельном месте, поэтому можно восстановить давно утерянные файлы.

Ее фишка в том, что она хранит историю изменений и про повторном копировании, копирует только изменившиеся части файлов - чем не хило экономит траффик.

почитать можно здесь про бекап

 
как вариант в джимейле есть фильты и можно настроить пересылку баз еще на 1-2 почтовых ящика )))

___________
не держите все яйца в одной корзине
 
Для просмотра ссылки Войди или Зарегистрируйся, а как поступить если база не маленькая .. т.е. >20mb in sql.gz format.

Тогда же из надо разбить на куски и кусочками отправить ?

или есть другой вариант

Каким будет код скрипта в этом случае ?
 
спасибо Для просмотра ссылки Войди или Зарегистрируйся, сейчас посмотрю, что из себя он представляет.

Перед этим сделал маленький ресэрч по поводу него и смотри, что я нашел

К сожалению, кириллические шрифты в названиях файлов не поддерживаются и каждый из них не должен быть более 10 Мбайт.

 
Идея хороша... 7 Gb под бэкап :ay:
Только вот реализации нормальной я так и не нашёл :nezn:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху