Назад | Перейти на главную страницу

Стратегия резервного копирования очень большого веб-сайта (~ 40 ГБ)

У меня есть веб-сайт, который работает с большим количеством текстовых файлов - теперь они занимают около 40 ГБ данных и со временем их объем увеличивается. Мне нужно делать полную ежедневную резервную копию. Моя текущая стратегия - создать архив, защищенный паролем, и сохранить его в Dropbox с помощью этой команды:

tar cfz - /var/www/mysite | openssl enc -aes-256-cbc -e -k "b@ckupPassword" > /home/user/Dropbox/server_backups/sources/2013_01_04_0500_mysite_source_encrypted.tgz

Это работает, но создание архива занимает около 14 часов и требует много операций ввода-вывода - и это будет хуже по мере увеличения объема данных.

Какова правильная стратегия резервного копирования такого большого количества файлов?

я хотел бы использовать rsyncпри условии, что у меня достаточно места.

В этом примере есть полная резервная копия и неделя хранится инкрементных.

#!/bin/bash

DAY=$(date +%A)

if [ -e /bkp/incr/$DAY ] ; then
  rm -fr /bkp/incr/$DAY
fi

ionice -c 3 rsync -a --delete --inplace --backup --backup-dir=/bkp/incr/$DAY /var/www/mysite/ /bkp/full/ &> /dev/null

Скрипт может быть сложно хранить вне офиса, в папках dropbox и так далее.

Если вам действительно нужно использовать tar, вы можете отслеживать измененные файлы

tar zcvf - --listed-incremental=/var/log/mysite.tarlog /var/www/mysite | openssl enc  ...

Если вам нужна полная резервная копия, удалите /var/log/mysite.tarlog

Как было сказано выше, rsync кажется лучшим способом резервного копирования всего сайта. Тем не менее, я бы посоветовал вам реализовать какую-то реплицированную файловую систему, что-то вроде простого тома GlusterFS с репликацией.

Репликация не является резервным копированием, но она может помочь вам уменьшить влияние операций ввода-вывода при резервном копировании и в конечном итоге предоставить вам прочную основу для расширения вашего веб-сайта в дальнейшем в кластер.

В этом случае лучше использовать механизм инкрементного резервного копирования.

С помощью rsync вы можете сделать инкрементное резервное копирование.

Нажмите на меня для более подробной информации об использовании rsync

Нажмите на меня чтобы узнать больше об инкрементном резервном копировании