Сохраняем все резервные копии в Dropbox
В своей статье «Сохраняем все резервные копии в Dropbox» я расскажу как можно создавать бэкапы и сохранять их в Dropbox, на готовом примере — это Debian 8 покажу как это работает.
Для создания бэкапов, я установлю утилиту backup-manager, для этого выполняем команду:
Для Centos/Fedora/RHEL:
# yum install backup-manager
Для Debian/Mint/Ubuntu:
# apt-get install backup-manager
В ходе установке, вас попросят ввести место для сохранения всех ваших бекапов, я прописал:
Далее, необходимо прописать все директории для которых нужно делать бэкапы, для меня важны лишь 2 директории:
После установки можно внести изменения в конфигурационный файл:
# vim /etc/backup-manager.conf
В данном файле, есть комментарии и они помогают в настройке данной утилиты, но я вынес основные строки для изменения (редактирования):
# Говорит утилите чтобы она запускалась каждый день export BM_DAILY_CRON="true" # Путь, где будут лежать ваши бэкапы export BM_REPOSITORY_ROOT="/var/backup-manager" # Папка для временных файлов, указываем путь export BM_TEMP_DIR="/var/tmp" #export BM_ARCHIVE_FREQUENCY="daily" # Создание бэкапов и так же всех БД mysql export BM_ARCHIVE_METHOD="tarball-incremental mysql" # Путь без пробелов в названии, у меня будет создаваться бэкапы etc и home: export BM_TARBALL_DIRECTORIES="/etc /home" #ИЛИ # Можно так же использовать массив, в нем прописываем нужны папки для бэкапов: declare -a BM_TARBALL_TARGETS BM_TARBALL_TARGETS[0]="/etc" BM_TARBALL_TARGETS[1]="/home" BM_TARBALL_TARGETS[2]="/root" export BM_TARBALL_TARGETS # Настройка для mysql. Я ее использую, так же есть и др БД # Прописываем пользователя от которого будет создаваться бэкап БД, у меня это root export BM_MYSQL_ADMINLOGIN="root" # И пароль для пользователя, у меня это root export BM_MYSQL_ADMINPASS="SeCuRePaSsWoRd" # Прописываем хост, на котором работает mysql export BM_MYSQL_HOST="localhost" # Прописываем порт на котором работает сервер БД mysql export BM_MYSQL_PORT="3306"
Это не весь конфиг, а только основная его часть, остальное я не трогал и оставил все как есть. Следующим действием я проверю работает ли backup-manager корректно (создает ли бэкапы), для этого запустим его из командной строки и проверим результат:
# backup-manager -v /var/backup-manager/debian-etc.20150810.master.tar.gz: ok (2M, a11380fc4b446eeee928b93e5688b6b3) /var/backup-manager/debian-home.20150810.master.tar.gz: ok (10M, d1c596ba77b74d52b4f33f9537b4f3a0) /var/backup-manager/debian-root.20150810.master.tar.gz: ok (1M, 2cd19c3cba82c721b4ad53c19ec338f3) Creating a default MySQL client configuration file: /root/.backup-manager_my.cnf /var/backup-manager/debian-all-mysql-databases.20150810.sql.bz2: ok (2M, 2458cd46a0124328a31c8160e1ee364d) Error reported by backup-manager-upload for method "scp", check "/var/tmp/bmu-log.VGW6BW".
Проверим наличие бекапов:
# ls -l /var/backup-manager/ total 11696 -rw-rw---- 1 root root 284 Aug 10 05:17 debian-20150810.md5 -rw-rw---- 1 root root 1150009 Aug 10 05:17 debian-all-mysql-databases.20150810.sql.bz2 -rw-rw---- 1 root root 1340334 Aug 10 05:17 debian-etc.20150810.master.tar.gz -rw------- 1 root root 64020 Aug 10 05:17 debian-etc.incremental.bin -rw-rw---- 1 root root 9373958 Aug 10 05:17 debian-home.20150810.master.tar.gz -rw------- 1 root root 26494 Aug 10 05:17 debian-home.incremental.bin -rw-rw---- 1 root root 2015 Aug 10 05:17 debian-root.20150810.master.tar.gz -rw------- 1 root root 382 Aug 10 05:17 debian-root.incremental.bin
И так, видно что все работает хорошо и бэкапы созданы. Утилита backup-manager будет выполнять создание бэкапов 1 раз в день, т.к установлена опция BM_DAILY_CRON=»true» в конфиге. Собственно бэкапы создаются и теперь нужно настроить чтобы они отправлялись в Dropbox.
Я крайне рекомендую создать аккаунт в Dropbox для сохранения всех бэкапов. После регистрации, необходимо скачать и установить клиент для работы dropbox на сервер.
Определяем разрядность своей ОС, для этого есть команда:
# uname -a
Для 64-битных ОС, используйте:
# wget -O - "http://www.dropbox.com/download/?plat=lnx.x86_64" | tar xvzf - -C /root
Для 32-битных ОС, используйте:
# wget -O - "http://www.dropbox.com/download/?plat=lnx.x86" | tar xvzf - -C /root
После такой установки, необходимо произвести авторизацию чтобы начать работать с Dropbox, для этого существует скрипт который стоит запустить:
# /root/.dropbox-dist/dropboxd
Нужно авторизоваться в сам DropBox. Далее, я нашел готовое решение для запуска Dropbox, для этого скачиваем и выставляем права на готовый скрипт:
# wget -O /etc/init.d/dropbox "https://gist.github.com/bezumkin/6712351/raw/108fc8af551cb4fdf7cdd08b891a45f405d283dc/dropbox" && sudo chmod +x /etc/init.d/dropbox
ВНИМАНИЕ! Нужно заменить в данном скрипте (который находится в /etc/init.d/dropbox) пользователя от которого будут запущен дропбокс, а так же юзера от которого он будет работать (заменяем «user1» и «user2» на свои). Незабываем сохраниться и так же, добавим данный скрипт ( службу) в автозагрузку ОС:
# update-rc.d dropbox defaults 6
И так, все готово, теперь пришло время запуска:
# service dropbox start
У Dropbox существует консольная утилиты — dropbox.py, я ее тоже скачаю т.к она необходима:
# wget http://www.dropbox.com/download?dl=packages/dropbox.py -O /root/.dropbox-dist/dropbox.py && chmod +x /root/.dropbox-dist/dropbox.py
Для помощи, используем:
# /root/.dropbox-dist/dropbox.py help
Чтобы все бэкапы автоматически подгружались в dropbox необходимо выполнить линковку для каталогов:
# ln -s /var/backup-manager /root/Dropbox/backup
Чтобы запустить клиентскую часть, используйте:
# /root/.dropbox-dist/dropboxd &
Открываем в браузере ваш аккаунт в dropbox и смотрим бекапы:
Моя тема «Сохраняем все резервные копии в Dropbox» завершена. Скоро будет статья как можно создать подобные бэкапы в Google Drive/Yandex.Диск.
Привет, подскажи когда у тебя будет тема сохранение бэкапов на Yandex.Диск