一个高效、安全的NAS备份工具,支持增量备份、加密压缩和灵活恢复。
我使用过 Duplicati,确实解决了以上三个问题,但仍有以下问题:
对此我提出了以下备份方案:
这样当我需要从网盘取回某个指定文件时,只需要下载对应的压缩文件,用 7z 解压,输入密码即可,是不是非常方便!
7z 或 7za)Linux (Debian/Ubuntu):
sudo apt-get install p7zip-full
Linux (RHEL/CentOS):
sudo yum install p7zip p7zip-plugins
macOS:
brew install p7zip
Windows:
从 7-Zip官网 下载并安装,确保 7z.exe 在系统PATH中。
# 克隆仓库
git clone https://github.com/yourusername/zbak.git
cd zbak
# 构建
go build -o zbak ./cmd/zbak
# 或直接安装到 $GOPATH/bin
go install ./cmd/zbak
创建配置文件 config.yaml:
source_dir: /path/to/nas/source # 源目录路径
target_dir: /path/to/backup/target # 目标目录路径
volume_size: 4294967296 # 分卷大小(4GB,单位:字节)
password: your_secure_password # 加密密码
concurrency: 4 # 并发数
执行备份:
zbak backup --config config.yaml
完整恢复:
zbak restore --config config.yaml
恢复指定时间戳的备份:
zbak restore --config config.yaml --timestamp 2024-01-15-10-30-00
恢复时间范围内的备份:
zbak restore --config config.yaml --from 2024-01-15-10-30-00 --to 2024-01-16-14-20-00
查看帮助:
zbak --help
zbak backup --help
zbak restore --help
target_dir/
├── index.yaml # 文件索引
├── backup-2024-01-15-10-30-00.log # 备份日志
├── 2024-01-15-10-30-00/ # 时间戳目录
│ ├── dir1.7z.001 # 小目录压缩
│ ├── dir2/
│ │ ├── files.7z.001 # 目录中的文件
│ │ ├── files.7z.002
│ │ └── subdir1.7z.001 # 子目录压缩
│ └── dir3/
│ ├── subdir1.7z.001
│ └── subdir2.7z.001
└── 2024-01-16-14-20-00/ # 另一个时间戳目录
└── ...
| 配置项 | 类型 | 必需 | 说明 |
|---|---|---|---|
source_dir | string | 是 | 需要备份的源目录路径 |
target_dir | string | 是 | 存储备份文件的目标目录路径 |
volume_size | int64 | 是 | 分卷大小(字节),建议4GB(4294967296) |
password | string | 是 | 加密密码,用于7zip AES-256加密 |
concurrency | int | 是 | 并发压缩任务数,建议设置为CPU核心数 |
欢迎贡献代码、报告问题或提出建议!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)查看 DEVELOPMENT.md 了解:
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
Content type
Image
Digest
sha256:478b37d20…
Size
6.8 MB
Last updated
7 months ago
docker pull imaegoo/zbak