Сегодня передо мной встала задача производить бекап MySQL баз в облако, на Amazon S3, да ещё и с ротацией. Решений на этот я нашёл достаточно много, но все они были либо слишком громоздкими для данной задачи, либо чего то не умели (практически никто не умеет делать ротацию из коробки).

Не долго думая я решил написать своё решение, что выполняло бы эту задачу просто и без излишеств и устанавливалось бы максимально просто.

Итак, приступим.

Установка

$ sudo pip install s3mysqlbkp

Конфигурация

Вся конфигурация лежит в /etc/s3mysqlbkp.conf.

$ cat /etc/s3mysqlbkp.conf

# Секция настроек доступов к Amazon.
# Укажите Access и Secret Key, а так же имя Bucket (будет создано скриптом при первом старте автоматически)
[amazon]
access_key  = AKIAIK4KP&XSYHCIF*OK
secret_key  = +SqasKIMLizimFBmHJKPlJsSKldWnd1wNmSIkLvs
bucket_name = myprojectsqlbackups

# Настройки доступа к MySQL
[mysql]
hostname = localhost
username = backup
password = secret
# можно указывать несколько баз через пробел, как при использовании опции mysqldump --databases
databases = example

# Настройки самого бекапа
[backup]
# Максимальное время жизни бекапа в Bucket в днях
max_lifetime_backup = 3
# Каталог для временного хранения бекапа на этапе создания
tmp_dir = /tmp

Всё готово, может выполнить тестовый запуск

$ sudo s3mysqlbkp_run.py

Если всё прошло без ошибок – может добавить данный скрипт в крон. Я добавил его запуск раз в сутки.

Спасибо за внимание!

Ссылки


Источник: PyDev.info
19 Январь 2013, 08:42 0 daniel
blog comments powered by Disqus