You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
example 897b5bfb95 refactor 2 months ago
nbproject restoring 2 months ago
release bugfix 2 months ago
src/archivarius20 refactor 2 months ago
.gitignore add finalizeAfterCreate option 2 months ago
LICENSE readme, license 2 months ago
README.md readme 2 months ago
build.xml reliase build configure 2 months ago
manifest.mf init 2 months ago

README.md

Архивариус

Система резервного копирования и версионирования файлов.

Зависимости

Основные характирристики

  • Резервное копирование
  • Версионирование файлов (хранение изменений за временной период)
  • Восстановление к временной точке

Принцип работы

Пользователь настраивает точки входа, указывая директорию с исходными файлами и репозиторий для резервных копий. Система запускается в режиме наблюдателя и сканирует исходную директорию на предмет изменений. Если изменения найдены, система делает копию изменившихся файлов.

В начале работы, в репозитории создаётся ревизия всех исходных фалов. Затем в неё записываются все изменения исходного каталога. Если время жизни ревизии подошло к концу или произошла ошибка копирования, создаётся новая ревизия всех файлов.

Запуск

cd release

java -jar archivarius-backend.jar

Параметры запуска

  • --observe - Запустить систему в режиме наблюдения. Система будет сканировать файлы и делать резервное копирование.
  • --make-config [PATH] - Создать шаблон конфигурации системы (по умолчанию ./config.json).
  • --config [PATH] - Указать пкть к файлу конcd releaseфигурации (по умолчанию ./config.json).
  • --restore [REPO] [TIME] [PATH] - Восстановить данные из REPO в каталог PATH за указанный период TIME. Формат даты yyyy-MM-dd HH:mm:ss, но можно указать литеру last чтобы восстановить самую последнюю версию. REPO может быть псевдонимом репозитория или, непосредственно, путём до него.

Конфигурация

Кофигурация записывается в JSON формате. Для генерации шаблона файла настроек запустите систему с ключом --make-config. Затем отредактируйте их.

  • directories - Настройка наблюдателя для одной директории
    • name - Псевдоним для репозитория
    • source - Каталог с исходными файлами
    • repository - Репозиторий для резервных копий
    • observer - Настройки наблюдателя
      • timeout - Интервал сканирования
      • maxVersions - Количество хранимых версий одного файла
      • maxRevisions - Количество полных ревизий каталога с исходными файлами (без сломанных)
      • maxRevisionsAge - Время активности одной ревизии (в днях). После истечния срока, текущая будет заморожена и создана новая.
      • removeBrokenRevisions - Удалять сломанные ревизии автоматически
      • finalizeAfterCreate - Финализирует ревизию после первого коммита. Отключает версионирование. Все ревизии будут простыми копиями исходных файлов
      • disableChangeChekingOnCreateRevision - Отключает проверку изменений, если создаётся новая ревизия. Тоесть после того, как ревизия финализирована, сразу будет создана копия файлов в новую. Если установлен флаг finalizeAfterCreate, то процесс будет бесконечный.

Планы на разработку

  • frontend
  • Больше консольных утилит