Инициатива #SaveFirst
поддержка онлайн-проектов, которые помогают людям в период кризиса COVID-19
Подробнее

Автоматическое «Резервное копирование»: как настроить бэкап баз данных

Услуга «Резервное копирование» позволяет резервировать файлы и базы данных MySQL/MariaDB без использования панели ISPmanager. Резервирование выполняется путём сохранения дампа базы.

Подробнее об автоматическом «Резервном копировании»

Чтобы настроить резервное копирование базы данных, вам потребуется выяснить данные для доступа к MySQL. Для этого нужно подключиться к серверу по SSH.

В большинстве случаев данные доступа к серверу баз данных можно найти в файле /root/.my.cnf

Содержимое .my.cnf

Если этого файла нет, но у вас есть доступ к MySQL, при вызове клиента следует создать в MySQL пользователя с правами на создание резервных копий.

Создать пользователя ‘backup’ с паролем ‘password’ можно следующими запросами:

CREATE USER ‘backup’@’localhost’ IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO ‘backup’@’localhost’;

Если MySQL-сервер доступен, но пароль утрачен, сбросьте пароль MySQL.

Теперь остаётся сделать настройки в конфигурационном файле /opt/autobackup/config.yml. Файл можно редактировать любым удобным способом. По умолчанию он выглядит так:

isptar: http://rep.fvds.ru/utils/isptar
countbackups: 7
storagemaxsize: 100
ispmgruser: 
ftp_server: 
ftp_port: "21"
ftp_user: 
ftp_password: 
ftp_retrycount: 5
slicesize: 100
backup_paths:
 - /var/www
 - /etc
 - /home
mysql:
    mysql_enable: false
   mysql_user: root
   mysql_pass: ""
   mysql_server: ""
   databases:
     - alldatabases

Укажите логин MySQL-пользователя в поле mysql_user, а в поле mysql_pass — его пароль. Если MySQL установлен нестандартным способом, например, работает из docker-контейнера или собран вручную, заполните поле mysql_server. Поле должно содержать путь до UNIX-сокета или TCP-адрес, по которому доступен MySQL.

Пример заполнения mysql_server:

  • для доступа через TCP:
    mysql_server: "tcp(192.168.1.55:3306)"
  • для доступа через UNIX-сокет:
    mysql_server: "unix(/var/run/mariadb.sock)"

Осталось изменить поле mysql_enable с false на true, чтобы начать резервировать базу данных. 

При желании в поле databases вы можете перечислить базы, которые требуют резервирования. Если в массиве указано значение alldatabases, резервируются все базы данных, доступные MySQL-пользователю.

Если config.yml окажется невалиден, или будут введены неверные данные доступа к FTP, при проверке корректности работы автоматических бекапов конфиг будет перезаписан — все настройки вернутся к виду по умолчанию.

Если вам потребуется помощь с настройкой, обратитесь в службу поддержки.