Ставил перед собой несколько целей:
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 за моральную поддержку в написании скрипта
дальше достаточно поместить скрипт в крон и каждое утро наслаждаться отчетом о проделанном бекапе
# 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



