Расширение AutoBackup

Последние изменения: 25.04.2023

Расширение для автоматического резервного копирования сайта школы, с загрузкой в облачное хранилище

Автоматическое резервное копирование

После установки расширения, в «настройках > расширения» появиться «AutoBackup»

Чтобы настроить бекап, нужно:

  1. Создать задание

  2. Создать хранилище


Создание задания

Пункт «Общие настройки»

  • "Хранилище" - куда загружать копии. Нужно обязательно выбрать хотя бы одно хранилище. Иначе нельзя будет создать задание.

  • "Количество хранимых копий" - количество копий одного задания, которые будут храниться в хранилищах. 

  • "Статус" - включает/отключает задачу для крона

Пункт «Переодичность»

Устанавливает время выполнения задания кроном. В зависимости от ваших нужд, выберете «раз в неделю»/«каждый день». Время лучше всего выбирать ночью, т.е. когда меньше всего посетителей на вашем сайте.

Пункт «Состав резервной копии»

Устанавливает, какие копии будет создавать задание.

  • «Включить файлы в бекап» — можно будет восстановить файловую систему SM

  • «Включить базу данных в бэкап» — можно будет восстановить базу данных SM

  • «Включить базу клиентов в csv» — при запуске задания, будет также создаваться .csv файл с клиентами (аналогичный тому, что создается через «Пользователи > Действие > Экспорт”)

Также в этом пункте справа показывается приблизительный размер бекапа.

Пункт «Расширенные настройки»

  • «Делить на части» — Бекап будет разбит на части. Размер части регулируется в настройках расширения. Используйте это, если на сервере мало свободного места для создания бекапов.

  • «Исключить папки» — выберете, какие папки не должны быть в бекапе файловой системы. Если, например, была выбрана папка «load», то в бекап не будет содержать дочерние папки папки «load».

  • «Исключить файлы» — выберете, какие файлы не должны быть в бекапе файловой системы. Файлы нужно перечислить через перенос строки. Записываются они от корня school-master. Пример:

  • "/index.php" исключит файл index.php из бекапа.


Создание хранилища

Хранилище можно создать, выбрав «Резервное копирование > Добавить хранилище».

Пункт «основное»

«Название хранилища» - то, как будет отображаться хранилище в админке

«Тип хранилища» - укажите, в какой сервис будут отправляться бекапы.

Пункт «Настройки FTP»

Если файл бекапа необходимо отправить в ftp, то укажите поля:

  • «Сервер(ip)» - IP адрес сервера(или его домен)

  • «Порт» - Порт ftp сервера(обычно 21)

  • «Имя пользователя» - Логин от FTP

  • «Пароль» - Пароль от FTP

  • «Путь» - папка, в которую необходимо загрузить бекап. Например, в ftp есть папка «backups». В таком случае, в это поле нужно будет указать «/backups»

Пункт «Настройки Я.Диск»

Для начала нужно создать приложение яндекс диска. Сделать это можно здесь. Указать значения:

  1.  "Платформа приложения" - "Веб-сервисы"

  2. "Доступ к данным" - "Чтение всего Диска" & "Доступ к папке приложения на Диске" & "Доступ к информации о Диске" & "Запись в любом месте на Диске" & "Доступ к Яндекс.Диску для приложений"

  • "YANDEX DISK CLIENTID" - После создания приложения, нужно скопировать со страницы приложения clientid и вставить его в это поле.

  • "oAuth token" - чтобы его получить, нужно нажать на ссылку ниже "Получить токен". Откроется страница на которой нужно войти в аккаунт яндекс. Затем скопировать код в это поле.

Пункт «Настройки Dropbox»

Для начала нужно создать приложение dropbox. Сделать это можно здесь.

  • "DROPBOX APP KEY" - ключ приложения dropbox

  • "DROPBOX APP SECRET" - cекретный ключ приложения dropbox

  • "Access token" - токен пользователя. Получить его можно нажав на ссылку ниже "Получить токен".

Пункт «Настройки протокол S3»
  • «Тип хранилища» - если вы пользуетесь хранилищами «Яндекс облако» или «Selectel», то соответственно выберете их. При этом поле «Адрес (endpoint)» не будет требовать изменений. В противном случае, выберете «Другое».

  • «Адрес (endpoint)» - Адрес сервера S3. Без указания протокола (http/https)

  • «Папка (bucket)» - имя бакета, в который нужно будет загрузить файл

  • «Идентификатор ключа» - по-другому логин для подключения

  • «Cекретный ключ» - по-другому пароль для подключения

Пункт «Локальное»
Бекапы будут сохраняться в выбранной директории на текущем сервере.

"Путь" - относительный путь от корневой директории school-master. Пример: "/backups", "/load/backups"


Пункт "Google Drive"

Для начала нужно создать приложение google. Сделать это можно здесь. Видео инструкция по созданию приложения здесь (до 3:26).

"Client ID" - айди приложения google

"Client secret" - секретный ключ приложения google

"Redirect url"  - адрес вашего сайта. Пример - "http://smdemo.ru"

"ID папки" - если оставить пустым, то бекапы будут загружаться в корень гугл диска. Если вам нужно загружать бекапы в другую папку, то укажите ее айди здесь. Чтобы получить айди папки нужно открыть нужную папку в google drive. Скопировать конец ссылки и вставить его в поле "ID папки" (пример: https://drive.google.com/drive/u/0/folders/1k2n37bp3zVIY2sHb5ckRsEd9KATmd3DN - "1k2n37bp3zVIY2sHb5ckRsEd9KATmd3DN" - это айди папки)

"Код подтверждения" - после заполнения всех полей выше, нажмите на ссылку "Получить". Откроется страница входа в аккаунт google. Авторизуйтесь. Вас перекинет на страницу, которую вы указали в "redirect url". Скопируйте полностью GET-параметр "code" и вставьте его в это поле.  

Дополнительно

В случае, если при ручном бекапе кажется что задание зависло, то проверить работает ли оно, или нужно попробовать заново можно так:

  1. Ввести команду в shell-клиент на сервере - `ps -ef`. Здесь будут отображаться все процессы на сервере

  2. Найти процесс `php <путь>/autobackup_cron.php`. 

  3. Если такого нету, то значит крон не запущен

  4. Если есть - значит какие-то действия в нем выполняются, и стоит просто подождать

Помогла ли вам статья?