Общая информация
По умолчанию VestaCP делает ежедневный бекап всех пользователей и хранит 3 копии, после начинает удалять самый старый и делает новый вместо него. Бекапиться полностью все:
- файлы домена
- базы данных
- кроны
- конфигурационные файлы веб-сервера
- конфигурационные файлы DNS-сервера
- почтовые домены
Еще одной особенностью является то, что бекап делается во временную директорию /tmp, а лишь потом перемещается в /home/backup/. Даже если выбрать создание бекапа на удаленный FTP, то все равно будет локально создаваться копия бекапа во временную директорию и после завершения бекапа будет пересылаться на удаленный FTP и потом удалиться бекап из /tmp.
Для создания бекапа требуется чтобы на сервере было доступно места столько, сколько занимает директория пользователя со всеми сайтами. Если места будет меньше бекап не будет создаваться, а понять почему не создается можно из лога бекапа.
Место хранения лога бекапа /usr/local/vesta/log/backup.log или /var/log/vesta/backup.log1)
Для создания бекапа достаточно перейти в пункт меню BACKUP и нажать на Create Backup2). После чего задание на создание бекапа будет добавлено в очередь и со временем бекап начнет выполняться в фоне. Когда все будет готово, новая резервная копия появиться в этом же пункте меню и будет доступна для скачивания
Настройка локального бекапа
Изменим количество создаваемых бекапов
По умолчанию бекап отрабатывает от по заданию в планировщике3). Чтобы изменить количество хранимых бекапов, нужно отредактировать наш package который выбран для пользователя4). В меню USER в информации про нашего пользователя видно количество бекапов и какой Package используется. Чтобы изменить количество бекапов перейдем в верхнем меню в раздел Packages Дальше в настройках нашего Package изменим на желаемое значение Backups
Изменим уровень сжатия и директорию хранения бекапов
Для этого нужно перейти на верхней панели меню на вкладку Server и нажать на шестеренку (Configure) Листаем вниз до пункта BACKUP
- Local backup - создавать бекап локально на Вашем сервере
- Compression level - уровень сжатия бекапа. Чем сильнее сжатие тем он меньше места занимает,но операции сжатия/распаковки будут больше нагружать сервер
- Directory - директория хранения бекапа. Здесь она указана относительно домашней директории /home. В данном случае это будет /home/backup
Настройка бекапа на удаленный FTP
Переходим на верхней панели меню на вкладку Server и нажимаем на шестеренку (Configure) и дальше BACKUP/Remote backup.
- Protocol - Протокол, доступно ftp и sftp
- Host - адрес удаленного FTP-сервера
- Username - логин для аккаунта на удаленном FTP-сервере
- Password - пароль для аккаунта на удаленном FTP-сервере
- Directory - директория в которую будут сохраняться бекапы. Если оставить поле пустым, бекапы будут сохраняться в корневую директорию FTP-пользователя
Если поле Local backup оставить значение YES то бекап будет храниться и локально и на удаленном сервере. Если значение Local backup установлено в No то локально бекап храниться не будет, но в панели управления будет отображаться и будет доступен для восстановления из удаленного FTP.
Восстановление из резервной копии
Есть несколько способов восстановления из бекапа:
- Через панель управления
- Через консоль
- Скачать архив с бекапом, разархивировать его и вручную заменить файлы на сервере файлами из бекапа.5)
Восстановление через панель управления
Переходим в раздел BACKUP,напротив нужного нам бекапа выбираем CONFIGURE RESTORE SETTINGS Дальше отмечаем галочкой то что нам нужно восстановить и нажимаем restore. Или можно вверху слева выбрать restore all6)
- WEB domain - данные домена
- MAIL domain - почтовые ящики и настройки почтового домена
- DNS domain - конфигурационные файлы зон DNS-сервера
- DATABASE - базы данных
- CRON - задания планировщика
Под пользователем ADMIN доступны бекапы только доменов этого пользователя. Если нужно восстановить резервную копию сайтов что находятся на другом пользователе, нужно перейти под этого пользователя(залогиниться) и проделать то же что описано выше.
Восстановление через консоль
Чтобы восстановить полный бекап пользователя testuser нужно в консоли прописать следующее7)
/usr/local/vesta/bin/v-restore-user testuser testuser.2018-06-30_05-12-20.tar
Пример восстановления одного домена new.mydomain.com на пользователе testuser
v-restore-user testuser /home/backup/testuser.2018-06-30_05-12-20.tar new.mydomain.com new.mydomain.com new.mydomain.com testuser_mydatabase
Ниже лог того что было восстановлено
-- WEB -- 2018-05-02 13:50:26 new.mydomain.com -- DNS -- 2018-05-02 13:53:12 new.mydomain.com -- MAIL -- 2018-05-02 13:53:13 new.mydomain.com -- DB -- 2018-05-02 13:53:13 testuser_mydatabase -- CRON -- 2018-05-02 13:53:17 8 cron jobs -- USER FILES -- 2018-05-02 13:53:17 .bash_logout 2018-05-02 13:53:17 tmp 2018-05-02 13:53:17 .bash_profile 2018-05-02 13:53:17 .bashrc
Восстановление отдельных файлов
Данный способ возможно самый понятный. Идем в раздел BACKUP и качаем нужный нам бекап себе на компьютер Дальше распаковываем архив, ищем в нем нужные нам файлы и с помощью FTP-клиента закачиваем их на сервер, заменяя существующие.
Как отключить создание резервной копии
Сделать это можно например здесь, указав в поле Local backup значение No
Другой вариант отключить создание резервных копий это отключить задание в планировщике. По работе с планировщиком можно ознакомиться в в данной статье. Переходим в меню CRON и напротив нужного нам задания нажимаем suspend
После перезагрузки сервера возможно задание в планировщике снова станет активным и бекапы снова будут создаваться.
Изменение временной директории для бекапа
Иногда нужно сменить временную директорию для бекапов, по умолчанию это /tmp. Бывают ситуации когда на сервере основное место находиться в /home и это отдельный раздел, а в корне, где находиться /tmp не хватает места для бекапа. В таком случае бекап не будет создаваться из-за нехватки места. Решением будет изменить временную директорию. Для этого нужно в консоли отредактировать конфигурационный /usr/local/vesta/bin/v-backup-user. В нем ищем данный блок
# Creating temporary directory tmpdir=$(mktemp -p /tmp -d)
Как мы видими указано сейчас /tmp, давайте сменим на другую, например /home/tmp
# Creating temporary directory tmpdir=$(mktemp -p /home/tmp -d)
После этого нужно создать директорию /home/tmp и перезапустить панель управления VestaCP.
mkdir /home/tmp service vesta restart