Сегодня передо мной встала задача производить бекап 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
Если всё прошло без ошибок – может добавить данный скрипт в крон. Я добавил его запуск раз в сутки.
Спасибо за внимание!
Ссылки
Источник: