Расширение для автоматического резервного копирования сайта школы, с загрузкой в облачное хранилище
Автоматическое резервное копирование
После установки расширения, в «настройках > расширения» появиться «AutoBackup»
Чтобы настроить бекап, нужно:
Создать задание
Создать хранилище
Создание задания
Пункт «Общие настройки»
"Хранилище" - куда загружать копии. Нужно обязательно выбрать хотя бы одно хранилище. Иначе нельзя будет создать задание.
"Количество хранимых копий" - количество копий одного задания, которые будут храниться в хранилищах.
"Статус" - включает/отключает задачу для крона
Пункт «Переодичность»
Устанавливает время выполнения задания кроном. В зависимости от ваших нужд, выберете «раз в неделю»/«каждый день». Время лучше всего выбирать ночью, т.е. когда меньше всего посетителей на вашем сайте.
Пункт «Состав резервной копии»
Устанавливает, какие копии будет создавать задание.
«Включить файлы в бекап» — можно будет восстановить файловую систему SM
«Включить базу данных в бэкап» — можно будет восстановить базу данных SM
«Включить базу клиентов в csv» — при запуске задания, будет также создаваться .csv файл с клиентами (аналогичный тому, что создается через «Пользователи > Действие > Экспорт”)
Также в этом пункте справа показывается приблизительный размер бекапа.
Пункт «Расширенные настройки»
«Делить на части» — Бекап будет разбит на части. Размер части регулируется в настройках расширения. Используйте это, если на сервере мало свободного места для создания бекапов.
«Исключить папки» — выберете, какие папки не должны быть в бекапе файловой системы. Если, например, была выбрана папка «load», то в бекап не будет содержать дочерние папки папки «load».
«Исключить файлы» — выберете, какие файлы не должны быть в бекапе файловой системы. Файлы нужно перечислить через перенос строки. Записываются они от корня school-master. Пример:
"/index.php" исключит файл index.php из бекапа.
Создание хранилища
Хранилище можно создать, выбрав «Резервное копирование > Добавить хранилище».
Пункт «основное»
«Название хранилища» - то, как будет отображаться хранилище в админке
«Тип хранилища» - укажите, в какой сервис будут отправляться бекапы.
Пункт «Настройки FTP»
Если файл бекапа необходимо отправить в ftp, то укажите поля:
«Сервер(ip)» - IP адрес сервера(или его домен)
«Порт» - Порт ftp сервера(обычно 21)
«Имя пользователя» - Логин от FTP
«Пароль» - Пароль от FTP
«Путь» - папка, в которую необходимо загрузить бекап. Например, в ftp есть папка «backups». В таком случае, в это поле нужно будет указать «/backups»
Пункт «Настройки Я.Диск»
Для начала нужно создать приложение яндекс диска. Сделать это можно здесь. Указать значения:
"Платформа приложения" - "Веб-сервисы"
"Доступ к данным" - "Чтение всего Диска" & "Доступ к папке приложения на Диске" & "Доступ к информации о Диске" & "Запись в любом месте на Диске" & "Доступ к Яндекс.Диску для приложений"
"YANDEX DISK CLIENTID" - После создания приложения, нужно скопировать со страницы приложения clientid и вставить его в это поле.
"oAuth token" - чтобы его получить, нужно нажать на ссылку ниже "Получить токен". Откроется страница на которой нужно войти в аккаунт яндекс. Затем скопировать код в это поле.
Для начала нужно создать приложение dropbox. Сделать это можно здесь.
"DROPBOX APP KEY" - ключ приложения dropbox
"DROPBOX APP SECRET" - cекретный ключ приложения dropbox
"Access token" - токен пользователя. Получить его можно нажав на ссылку ниже "Получить токен".
«Тип хранилища» - если вы пользуетесь хранилищами «Яндекс облако» или «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" и вставьте его в это поле.
Дополнительно
В случае, если при ручном бекапе кажется что задание зависло, то проверить работает ли оно, или нужно попробовать заново можно так:
Ввести команду в shell-клиент на сервере - `ps -ef`. Здесь будут отображаться все процессы на сервере
Найти процесс `php <путь>/autobackup_cron.php`.
Если такого нету, то значит крон не запущен
Если есть - значит какие-то действия в нем выполняются, и стоит просто подождать