gtsStore

gtsBackup

Бекап сайта MODX на ваш компьютер: полный и дифференциальный архив файлов и дамп базы по токену, клиент для Windows без установки, ротация и предупреждение о пропусках.

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

Работает на MODX 2.8 и MODX 3, PHP 7.3 и новее. Нужен gtsAPI 1.1.3-beta или новее — установите его до gtsBackup.

Что умеет

  • Полный и дифференциальный бекап файлов. Дифференциальный содержит всё, что изменилось с момента своего полного, поэтому для восстановления нужны ровно два архива. Удалённые на сайте файлы при восстановлении тоже удаляются.
  • Дамп базы через mysqldump, а на хостинге без него — средствами PHP. Целостность дампа проверяется после скачивания.
  • Большие сайты. Архив собирается на сервере порциями по 20 секунд и не упирается в таймауты веб-сервера. Обрыв связи при скачивании — докачка с того же места.
  • Токен вместо пароля. Бессрочный, умеет только снимать бекап, создаётся в админке и показывается один раз. Отключить компьютер — снять у токена галочку. По желанию: только HTTPS, белый список IP.
  • Клиент для Windows без установки. Используется только встроенное в Windows 10 и 11: PowerShell, curl и tar. Для Linux и macOS — тот же клиент на PHP.
  • Сам по расписанию. Задача в Планировщике Windows ставится при подключении первого сайта: каждый день, при входе в Windows и с догоном пропущенного запуска.
  • Ротация. По умолчанию полный бекап раз в неделю, между ними дифференциальные, хранятся 4 недели. Всё настраивается для каждого сайта отдельно.
  • Предупреждение о пропусках. Если у сайта нет удачного бекапа два дня, поверх всех окон появляется окно со списком таких сайтов. На сайте видно, когда каждый компьютер последний раз снял бекап.
  • Восстановление одной командой в пустую папку: для дифференциального клиент сам возьмёт его полный. Архивы — обычный tar.gz, открываются любым архиватором, русские имена файлов сохраняются.
  • Папки вне сайта, например хранилище файлов и ключи компонентов, добавляются настройкой.
  • Открытый протокол. Описание обмена лежит рядом с клиентом: по нему можно написать свой клиент.

Быстрый старт

  1. Установите gtsAPI, затем gtsBackup.
  2. «Компоненты → Бекапы → Токены → Создать токен». В окне — готовая команда и ссылка на клиент.
  3. Скачайте клиент по ссылке и распакуйте, например, в C:\gtsBackup.
  4. В этой папке в обычной консоли выполните команду из окна:
gtsbackup.cmd add mysite https://example.com/assets/components/gtsbackup/action.php gbk_… --now

Команда проверит связь, поставит ежедневную задачу и сразу снимет первый полный бекап. Бекапы лягут в C:\gtsBackup\backups\mysite\. Второй сайт — только его команда add, клиент заново качать не нужно.

Проверить: gtsbackup.cmd list — что снято и что будет дальше, gtsbackup.cmd check — нет ли пропусков.

Как хранятся бекапы

backups\mysite\
    20261112-033000\              цепочка, имя = время полного
        full\                     полный: файлы + база
        diff-20261113-033000\     дифференциальные этого полного
    20261119-033000\
        full\
    gtsbackup.log

Какой дифференциальный к какому полному относится, видно по папке.

Лицензия

Код открыт: github.com/tuniekov/gtsBackup. Пользоваться можно после покупки — 500 ₽ за один сайт, клиент ставится на любое число своих компьютеров. Изменять код для своих сайтов можно.

Что нового

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