Verifiable incremental backups with content-addressed storage and safe restore, powered by MoonBit.
Dependencies
git clone https://github.com/bzhangui/moonrestore.git
cd moonrestore
moon version --all
npm run build
node bin/moonrestore.mjs help
npm run demonode bin/moonrestore.mjs init "E:/paper-vault"
node bin/moonrestore.mjs plan "E:/paper-vault" "D:/papers" --exclude "node_modules"
node bin/moonrestore.mjs backup "E:/paper-vault" "D:/papers" --label "初稿" --exclude "node_modules"
node bin/moonrestore.mjs list "E:/paper-vault"
node bin/moonrestore.mjs verify "E:/paper-vault" all
node bin/moonrestore.mjs restore "E:/paper-vault" "完整的64位快照id" "D:/recovered-paper"| 命令 | 用途 |
|---|---|
| init <repo> | 创建全新仓库 |
| plan <repo> <source> [--exclude p] | 检查路径和预算,不写入数据对象 |
| backup <repo> <source> [--label text] [--exclude p] | 创建增量快照;排除项可重复 |
| list <repo> | 列出已校验清单的快照,不代表内容完整性已验证 |
| verify <repo> <id或all> | 逐文件、逐对象验证全部内容 |
| restore <repo> <id> <new-target> [--prefix p] | 恢复全量或部分内容,保留原相对路径 |
| diff <repo> <old-id> <new-id> | 列出新增、修改、删除的路径 |
| status <repo> | 存储统计及未引用对象清单,不自动删除 |
| recover <repo> | 回收已停止的本机进程锁和未提交临时文件 |
moon run examples/core --target wasmnpm run validate
npm test
node examples/scenarios.mjs
node scripts/benchmark.mjs
node scripts/package.mjsInstall
Download zipVerifiable incremental backups with content-addressed storage and safe restore, powered by MoonBit.
Dependencies