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, открываются любым архиватором, русские имена файлов сохраняются.
- Папки вне сайта, например хранилище файлов и ключи компонентов, добавляются настройкой.
- Открытый протокол. Описание обмена лежит рядом с клиентом: по нему можно написать свой клиент.
Быстрый старт
- Установите gtsAPI, затем gtsBackup.
- «Компоненты → Бекапы → Токены → Создать токен». В окне — готовая команда и ссылка на клиент.
- Скачайте клиент по ссылке и распакуйте, например, в
C:\gtsBackup. - В этой папке в обычной консоли выполните команду из окна:
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 без установки, задача в Планировщике, ротация, окно при пропуске бекапов.