Бэкапы и синхронизация
Все данные ARMory хранятся в двух местах:
- data/armory.db — база данных SQLite
- data/uploads/ — загруженные файлы
Ручной бэкап
Получится архив вида backup_<timestamp>.tar.gz.
Восстановление из бэкапа
Синхронизация с Яндекс.Диском
В интерфейсе операции доступны на отдельной странице Инструменты → Синхронизация (/synchronization). Блоки «Статистика», «Синхронизация с Яндекс.Диском» и «Alexandrite» можно сворачивать / разворачивать; состояние сохраняется в браузере.
Статистика
Карточки с информацией о локальных данных (проекты, разделы, группы, файлы, заметки и т.д.) и статусе подключения к Яндекс.Диску.
Синхронизация с Яндекс.Диском
Сохранить на Яндекс.Диск
Загружает armory.db и все файлы из data/uploads/ на Яндекс.Диск в папку YANDEX_DISK_PATH (по умолчанию ARMory/data/). Файлы, уже имеющиеся на диске, пропускаются. Операция выполняется в фоне; интерфейс показывает прогресс по job_id.
Загрузить с Яндекс.Диска
Скачивает armory.db и папку uploads/ с Яндекс.Диска и восстанавливает локально. Перед операцией автоматически создаётся локальная резервная копия в data/backups/auto_<timestamp>/. Выполняется синхронно.
Архивные бэкапы ARMory
Отдельный функционал для создания снапшотов в виде .tar.gz:
- Создать архив — упаковывает
armory.db+data/uploads/вarmory_backup_<timestamp>.tar.gzи загружает в папкуYANDEX_DISK_BACKUPS_PATH(по умолчаниюARMory/backups/). Выполняется в фоне с отображением прогресса. - Восстановить — скачивает выбранный архив и распаковывает его.
- Удалить — удаляет архив с Яндекс.Диска.
Архивы хранятся на диске и не зависят от прямой синхронизации.
Alexandrite
Папка ALEXANDRITE_VAULT_PATH (по умолчанию data/alexandrite) синхронизируется с Яндекс.Диском отдельно от основных данных ARMory:
- Сохранить на Яндекс.Диск — фоновая загрузка папки Alexandrite с отображением прогресса (
job_id). - Загрузить с Яндекс.Диска — замена локальной папки Alexandrite версией с диска. Перед операцией создаётся локальная резервная копия.
- Архивные бэкапы — создание архива
alexandrite_backup_<timestamp>.tar.gzтолько с содержимым папки Alexandrite, восстановление и удаление архивов.
Настройка
Добавьте в .env:
YANDEX_DISK_TOKEN=your_oauth_token
YANDEX_DISK_PATH=ARMory/data
YANDEX_DISK_BACKUPS_PATH=ARMory/backups
YANDEX_DISK_ALEXANDRITE_PATH=ARMory/alexandrite
ALEXANDRITE_YANDEX_ROOT_PATH=ARMory
TIMEZONE=Europe/Moscow
Автоматический бэкап (cron)
# Каждый день в 3:00 утра
crontab -e
<cron-schedule> cd <project-directory> && tar -czf <backup-directory>/app_$(date +\%Y\%m\%d).tar.gz data/armory.db data/uploads/ >/dev/null 2>&1