Skip to content

Пакет разработан для администраторов сайтов на Битрикс, которым требуется автоматизировать рутинные задачи по загрузке, скачиванию и восстановлению резервных копий.

License

Notifications You must be signed in to change notification settings

Voral/BxBackupTools

Repository files navigation

Утилита для автоматизации работы с бэкапами Битрикс

Пакет разработан для администраторов сайтов на Битрикс, которым требуется автоматизировать рутинные задачи по загрузке, скачиванию и восстановлению резервных копий.

Идея пакета

На нескольких проектах возник ряд смежных задач, и решение вылилось в обобщающий пакет. Задачи связанные с загрузкой самого свежего бекапа сайта на Битрикс на FTP, скачивание файла с FTP и автоматическое развертывание сайта из резервной копии для проверки целостности и развертывание зеркала.

Основные возможности

  • Загружать на FTP/SFTP последнюю резервную копию из каталога bitrix/backup.
  • Загружать резервные копии по дням недели
  • Скачивать с FTP/SFTP резервную копию с учетом, если настроено, логики хранения по дням недели. Как вариант возможно забирать копию предыдущего дня.
  • Распаковывать архив, настраивать подключения к БД в .settings.php и dbconn.php
  • Отправлять информацию о выполнении скрипта в телеграм канал или в консоль

Дополнительные возможности

За счет создания своих классов унаследованных от необходимых возможно добавлять:

  • Свои задачи в ход выполнения
  • Своего варианта отправки информации о выполнении
  • Своей логики хранения копий на FTP. Логика хранения определяет, каким образом будут распределяться и храниться резервные копии на FTP-сервере (например, по дням недели или месяцам).

Установка

Если проект еще не инициализирован через Composer, выполните команду:

composer init

Настроить источник для пакета

composer config repositories.bx-backup-tools vcs https://github.com/Voral/BxBackupTools.git

Добавить в зависимости

composer require voral/bx-backup-tools

Скопировать шаблон файла настроек и сконфигурировать под свою задачу. В конфигурации из примера есть необходимые комментарии.

По умолчанию утилита ищет конфигурационный файл config.local.php. Однако вы можете создать и другие файлы по шаблону config.*.php . Например config.dev.php, config.production.php. В примере показано как можно подключать другие настройки.

Обратите внимание: если в каталоге запуска присутствует config.php и config.local.php они будут загружены оба последовательно, т.е. local перезапишет содержащиеся в нем настройки, а которых в нем нет будут взяты из config.php

Обратите внимание: файл конфигурации может содержать чувствительные данные (например, учетные данные FTP). Рекомендуется добавить его в .gitignore для предотвращения случайной публикации.

cp vendor/voral/bx-backup-tools/examples/config.php config.local.php

Скрипты примеров помогут вам быстро начать работу с пакетом. Вы можете адаптировать их под свои задачи.

Для скачивания архива с FTP и развертывание из архива:

cp vendor/voral/bx-backup-tools/examples/download.php download.php

Для загрузки архива на FTP

cp vendor/voral/bx-backup-tools/examples/upload.php upload.php

Пример использования

Подробные примеры с комментариями можно посмотреть в примерах. Примерный шаблон скрипта:

<?php
require_once 'vendor/autoload.php';

use Vasoft\BxBackupTools\Config;
use Vasoft\BxBackupTools\Core\Application;

$configContainer = (new Config\Factory())->load('dev');
$app = new Application([
    // Добавьте необходимые задачи
]);
$app->handle();

Планы по развитию

  • Возможность удаления сообщений из канала Telegram по истечении определенного времени.
  • Возможность перевода установки в режим "для разработки".
  • Возможность закрыть публичную часть от посетителей.
  • Предотвращение повторной загрузки, скачивания или развертывания архива, который уже был обработан.
  • Проверка на лимит длины сообщения, отправляемого в Telegram.
  • Корректное развертывание всех сайтов в режиме многосайтовости.
  • Возможность выполнения заданных SQL-скриптов после развертывания БД.

Лицензия

Этот пакет распространяется под лицензией MIT. Подробности см. в файле LICENSE

Поддержка

Если у вас возникли вопросы или проблемы, создайте issue в репозитории.

About

Пакет разработан для администраторов сайтов на Битрикс, которым требуется автоматизировать рутинные задачи по загрузке, скачиванию и восстановлению резервных копий.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages