Автоматическое и удобное создание бэкапов

Обсудить

Друзья, в этой статье кратко постараюсь расписать, как я решил проблему автоматического создания бэкапов на VDS Timeweb. Инструкция описывается для VDS на Ubuntu.

Как работает создание бэкапов по моей логике:

  1. в 03:00 по МСК создается бэкап файлов всех сайтов;
  2. в 03:30 по МСК создается дамп базы данных;
  3. в 22:00 по МСК удаляются бэкапы файлов и базы данных из файловой системы.

Итого у меня есть время с 3-х часов ночи до 22 часов вечера скачать текущий бэкап. Частоту создания и удаления бэкапов можно редактировать в планировщике (cron). На основе подобной инструкции вы сможете подстроить создание резервных копий под свои нужды.

Первый этап

Настраиваем резервное копирование через cron.

Бэкапим файлы сайтов. Заходим в ispmanager->система->планировщик. Жмем "создать" и пишем:

zip -r /var/$(date +\%d-\%m-\%Y).zip /var/www/www-root/data/www

Ставим галочку напротив "включено". Выполнять - ежедневно. Выполнить в - 3 часов. В 03:00 в папке var будет создан архив с текущей датой, например - 02-05-2017.zip. В архиве будут все сайты, находящиеся на VDS.

Сохраните задание и протестируйте его, нажав "Выполнить" в планировщике. Планировщик задумается на 2-3 минуты, всё зависит от количества файлов в системе. Результатом должен стать архив с бекапом в папке /var/. Архив можно увидеть через менеджер файлов в ispmanager.

Бэкапим базу данных. Заходим в ispmanager->система->планировщик. Жмем "создать" и пишем:

/usr/bin/mysqldump -u имя_пользователя -p 'пароль_к_бд' имя_бд > /var/$(date +\%d-\%m-\%Y).sql

Ставим галочку напротив "включено". Выполнять - ежедневно. Выполнить в - 3 часов 30 минут. В 03:30 в папке var будет создан бэкап базы данных с текущей датой, например - 02-05-2017.sql. Если у вас несколько баз данных, для каждой создавайте отдельное задание в планировщике.

Второй этап

Удаление бэкапов. Удалять бэкапы нужно, чтобы не засорять файловую систему сервера. Свободное место имеет свойство быстро кончаться.

Заходим в ispmanager->система->планировщик. Жмем "создать" и пишем:

rm /var/$(date +\%d-\%m-\%Y).zip

Ставим галочку напротив "включено". Выполнять - ежедневно. Выполнить в - 22 часов 00 минут. В 22:00 будет удален архив с файлами ваших сайтов. Аналогично создаем задание для удаления бекапа базы данных. Для ленивых: 

rm /var/$(date +\%d-\%m-\%Y).sql

Третий этап

Как удобно скачивать бэкапы?

Подготовка:

  1. Идем по ссылке и качаем файл pscp.exe. Я его положил на диск "C" в папку "Загрузки".
  2. Запоминаем текущую дату в формате 02-05-2017.
  3. Создаем папку на локальном диске C с именем "backups".

Открываем командную строку windows (cmd). Переходим в папку загрузки:

cd C:\Users\ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ_WINDOWS\Downloads

Качаем архив с файлами:

pscp.exe root@IP_адрес_сервера:/var/текущая_дата.zip "C:\backups"

Введите пароль root, начнется копирование архива на локальный диск.

Качаем архив с базой данных:

pscp.exe root@IP_адрес_сервера:/var/текущая_дата.sql "C:\backups"

Идем в локальный диск C, открываем папку backups и видим свежий архив с бэкапом=)

Запустите свой сервер за 45 рублей в месяц

Комментарии