решение для бекапа базы

надо?

  • да

    Голосов: 6 46,2%
  • нет

    Голосов: 7 53,8%

  • Всего проголосовало
    13
  • Опрос закрыт .

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я тут только что настроил бекап базы со сжатием файла, аплоадом по ftp (используя расширение ftp или через fopen) и сохранением нескольких последних файлов,
могу выложить эти 2 скрипта если кому надо
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Код:
#!/bin/bash
HOME_DIR="/home/site/";
TARGET_DIR="public_html/";
SAVE_DIR="backup/";
FILENAME=files-$(date +%Y%m%d).tgz;
DUMPNAME=database-$(date +%Y%m%d).gz;
OLDFILE=*-$(date -d "-15day" +%d%m%Y)*;
MYSQL_USER="user_backup";
MYSQL_PASS="pass_backup";
DATABASE="database_backup";
tar czf $HOME_DIR$SAVE_DIR$FILENAME $HOME_DIR$TARGET_DIR
mysqldump -u $MYSQL_USER -p$MYSQL_PASS -f --databases --quick $DATABASE | gzip -c > $HOME_DIR$SAVE_DIR$DUMPNAME
rm -R $HOME_DIR$SAVE_DIR$OLDFILE
^_^
 

michelle

Новичок
Предложение - добавь опцию - через scp!

Так как ssh есть везде, а ftp отдельно поднимать бывает неохота, да и не везде надо!
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
флоппик неплохое решение тоже, но в публичную папку я если и выкладываю - то после шифрования
michelle
Код:
scp dump.sql.bz2 backup.grik.net:dump.sql.bz2
 

флоппик

promotor fidei
Команда форума
Партнер клуба
флоппик неплохое решение тоже, но в публичную папку я если и выкладываю - то после шифрования
Я там не выкладываю в публичную, я публичную архивирую, а кладу уровнем выше. У клиента просто весь сайт в public_html лежал.
Мне было бы интересно на инкрементные бекапы глянуть, если бы кто сделал.
 

vovanium

Новичок
Мне было бы интересно на инкрементные бекапы глянуть, если бы кто сделал.
Как раз занимаюсь этим делом, будет инкрементальный и дифференциальный бэкап, правда это будет на pure php, но без всяких громоздких и тормозных внешних библиотек.
Будет свой контейнер (поддерживающий многотомность), основной упор сделан на максимальную скорость при оптимальном сжатии (по тестам на винде, работает очень быстро).
Например, каталог с Zend Framework (2101 каталог, 9468 файлов, 67,2 МБ) сжимает за 10,5 сек до 19,8 МБ (это не максимальное сжатие), аналогичный архив Winrar'ом в RAR сжимается 62 сек и 20 МБ (скоростной, непрерывный архив), в ZIP сжимается быстрее где-то за 8 секунд при максимальном сжатии, но размер получается 24,4 МБ.

В дальнейшем планируется еще несколько оптимизаций структуры файла (сортировка по типам файлов), теоретически должно увеличить степень сжатия.
Всякие решения на php использующие готовые классы tar и zip просто отдыхают, там вообще минутами время работы исчисляется.
 

zerkms

TDD infected
Команда форума
backup-manager

Заливаю полученные зашифрованные gnupg бэкапы на S3
 

Absinthe

жожо
А я тупо каждые 12 часов на гмейл высылаю себе бэкапы :)
И они там складируются в отдельный каталог и не мешаются в общем списке.
Иногда надо вычищать, чтобы по лимиту размер ящика не превысило :(
 

HEm

Сетевой бобер
Absinthe
заведи отдельные адреса в гмейле для нескольких бакапов
 

С.

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

Absinthe

жожо
Кстати, вот с бэкапом базы более менеее понятно(почта, дропбокс), а как файло бэкапить? На почту/дропбокс оно не влезет, а на хранилища только при наличии какого-либо дельта-способа обновления.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
мне тут идея на днях пришла: архив слать мылом на специальный ящик в gmail/yandex/mail.ru, а в ящике настроить правило, по которому письмо автоматом идет в корзину
будет халявное 30-дневное хранилище с автоудалением старых ахивов,
большие архивы можно резать на N писем
например, 7,5гб / 30 дней = до 250 метров на архивы в день
 

Absinthe

жожо
до 230 метров на архивы в день
Ну все равно остается вопрос: как делать дельту, чтобы влезало в лимит :)

Я впринципе нашел вариант GoodSync - по FTP/SSH умеет конектиться, выбирать тип синхронизации(включая дельту), автоматически запускаться с виндой в трее, выполнять задание по таймеру, заливать не только на локальную машину, а в облако.
Единственный минус - на никсовый сервер не поставить демоном, только для винды.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
- как делать дельту, чтобы влезало в лимит
для файлопомоек и хостингов картинок не подходит, конечно, а для текстового контента это 2 гб до сжатия,
для большинства малобюджетных проектов вроде форумов/блогов хватит, а не-малобюджетные могут и заплатить за хранилище сколько надо
 

Absinthe

жожо
grigori дельта - это файлы у которых find -mtime -1? Или есть более очевидные способы ее нахождения с помощью каких-нибудь индексаций?
 

vovanium

Новичок
Как раз экспериментирую над созданием дельты файлов, с блоками фиксированной длины и скользящим окном.
Пока, что схема такая. Файлы разбиваются на блоки, кратные 4 КБ (в зависимости от размера файла), у каждого блока считается crc32 и md5 (для уменьшения вероятности коллизии, эти 2 варианта выбраны, как наиболее быстрые из хэшей реализованных в php), а также сохраняются 5 символов с начала и конца каждого блока. Потом при следующих проходах в случае если в блоке было изменение, ищем не сместился ли конец блока влево (были удалены символы), или вправо (были добавлены символы). Если конец блока нашли, проверяем начало следующего блока, и если оно совпадет, считаем хэши.
В общем основная задача избавиться от лавинного эффекта, когда из-за добавления к примеру в начало файла одного байта изменятся хэши всех блоков в файле.
 
Сверху