Бекап веб-сервера на amazon s3. FreeBSD. fsbackup. s3cmd

Советы по ускорению / автоматизации рутины, готовые решения.

Модератор: Команда root.ua

Бекап веб-сервера на amazon s3. FreeBSD. fsbackup. s3cmd

Новое сообщение dmitry » Сб ноя 14, 2009 7:44 am

Искал простой, и в тоже время, надежный способ бекапить веб-сервер (FreeBSD), а точнее сайты, которые на нем находятся.
Ставил перед собой несколько целей:

1) Простота метода. Мегакрутые системы бекапа для сотен серверов со всякими директорами, нодами и т.д. меня не устраивают, пока :) . Хотелось бы что-то автономное, не от чего треьего не зависящее. Также хотелось бы простоты обслуживания (в нашем случае восстановления из бекапа).
2) Инкрементный бекап. Иметь историю файлов хотя-бы за неделю + уменьшить количество места занимаемого бекапами тоже хочется.
3) Работа с MySQL базами данных.
4) Надежность. Тут скорее всего к обьекту, хранящему данные относится.

То, что у меня получилось...

В качестве обьекта, который будет хранить данные выбрал amazon s3. Дешево, надежно, удобно. Там все просто, регистрируешься, получаешь, секретный ключ, пароль к секретному ключу. Все, вы владелец нескончаемого дискового пространства :)

Теперь осталось собирать все данные для бекапа (инкрементно) и загружать на сервера амазона.
Для этого я нашел 2 удивительные программы: fsbackup и s3cmd.

fsbackup - система инкрементального резервного копирования и синхронизации ФС.
opennet писал: fsbackup может выполнять создание как полного образа сервера, так и резервных копий основных подсистем, исключая операционную систему.
Понравилось то, что это всего лишь перловый скрипт, но очень мощный. Скрипт работает практически из коробки - инкрементно бекапит указанные ему места в файловой системе и необходимые базы данных.
Скрипт иммет справку на русском языке (правда не всегда это удобно, если локаль не настроена в системе). Настраивается в два счета.

s3cmd - S3cmd is a command line tool for uploading, retrieving and managing data in Amazon S3. It is best suited for power users who don't fear command line. It is also ideal for scripts, automated backups triggered from cron, etc. По-русски, крутая штука, которая позволяет из командной строки работать с Amazon S3.

Думаю идея понятна.

1. Собираем инкрементный бекап в определенном месте системы с помощью fsbackup.
2. По крону запускаем s3cmd, которые будет синхронизировать данные с амазоном.

В итоге получился вот такой вот скрипт:

# cat /root/backup.sh
Код: Выделить всё
#!/bin/sh

/usr/local/fsbackup/create_backup.sh && \
/usr/local/bin/s3cmd --config=/root/.s3cfg sync --delete-removed /usr/local/fsbackup/archive/ s3://amazon-bucket/

* спасибо нашему каналу IRC за моральную поддержку в написании скрипта :) (irc.freenode.net, канал: #rootua, порт: 6667)

дальше достаточно поместить скрипт в крон и каждое утро наслаждаться отчетом о проделанном бекапе :)

# cat /etc/crontab | grep backup.sh
Код: Выделить всё
0       2      *       *       *       root    /root/backup.sh | mail -s "`uname -n` backup report" root


ps. очень удоброно использовать S3 Firefox Organizer для управления амазоновским s3.

Ссылки:
http://aws.amazon.com/s3/
http://www.opennet.ru/dev/fsbackup/
http://s3tools.org/s3cmd
Изображение Изображение ИзображениеИзображение
Аватара пользователя
dmitry
 
Сообщения: 1735
Зарегистрирован: Чт сен 27, 2007 12:02 pm
Откуда: forum.root.ua
ОС: Debian, Ubuntu

Вернуться в Советы мастеров (How to ...)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron