Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

backup

backup — снапшоты каталогов в .eml: pack, теговый реестр, verify hash-chain, ротация. emlbox (MIME-OS). Rust

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

backup — снапшоты каталогов в .eml

Каталог → один .eml-контейнер (pack) с hash-chain; реестр снапшотов — tagdb с тегами и временем; верификация целостности; ротация старых.

bash
cargo build --release

backup init ~/.backups
backup snap ~/.backups ~/projects/vita --name vita_src --tag important --tag vita
backup list ~/.backups 'X-Tag == "important"'
backup verify ~/.backups <snap-file>     # hash-chain целостность
backup restore ~/.backups <snap-file> ~/restored
backup prune ~/.backups --older-than 604800   # ротация старше недели

Свойства

  • Снапшот = один .eml с байт-оффсетами и sha256-связкой (verify ловит порчу)
  • Реестр в тегах: X-Tag == "backup", пользовательские теги, X-Timestamp
  • Restore защищён от path traversal (абсолютные пути и .. отвергаются)
  • Построен на emlbox (MIME-OS)

Тесты

bash
cargo test