zbackup是一个基于rsync思想的全局去重数据备份工具。给它传入一个大的tar文件后,它会仅存储一次该文件的重复部分,然后对结果进行压缩,并根据参数确定是否对其加密。传入另一个tar文件后,它会从之前的已备份文件中复用重复数据。只有新的改动会被保存,并且只要文件差异不是很大,需要的存储空间非常少。无论何时,之前的已备份文件都可以被完整地读出来。
zBackup特性

使用并行的LZMA或者LZO压缩算法压缩已备份数据
使用内置的AES加密算法加密已备份数据
可以删除旧的已备份数据
使用一个64位滚动哈希,保持软碰撞数量为0
备份库由不可更改的文件组成,只有库中不存在的文件才能修改
使用C++语言编写,并且只有适量的依赖库
可以在生产环境安全使用
可以在不同备份库中交换数据而无需重新压缩

在ubuntu中安装zBackup
打开终端并运行如下命令:

sudo apt-get install zbackup

使用zBackup

zbackup init命令会初始化一个备份库,用来存放待备份的数据。
zbackup init [–non-encrypted] [–password-file ~/.my_backup_password ] /my/backup/repo

zbackup backup命令备份一个由tar c命令创建的tar文件到刚才使用zbackup init初始化的备份库。(LCTT 译注:实际使用时类似这样,tar c files | zbackup …)

zbackup [--password-file ~/.my_backup_password ] [--threads number_of_threads ] backup /my/backup/repo/backups/backup-`date ‘+%Y-%m-%d'`

zbackup restore命令从备份库中恢复一个已备份文件到tar文件中。

zbackup [--password-file ~/.my_backup_password ] [--cache-size cache_size_in_mb ] restore /my/backup/repo/backups/backup-`date ‘+%Y-%m-%d'` > /my/precious/backup-restored.tar

可用选项

-non-encrypted – 不加密备份库。
–password-file /.my_backup_password – 使用位于/.my_backup_password的口令文件来加密备份库和待备份文件,以及解密已备份文件。
–threads number_of_threads – 限制并行LZMA压缩的线程数为 number_of_threads。建议在32位的系统平台使用。
–cache-size cache_size_in_mb – 使用cache_size_in_mb中的缓存大小来加速恢复文件的过程。

上述命令中 zBackup 相关文件

~/.my_backup_password 用来加密备份库和待备份文件,以及解密已备份文件。更多细节见zbackup。
/my/backup/repo 存放备份库的目录。
/my/precious/restored-tar 用来恢复已备份文件的tar文件。
/my/backup/repo/backups/backup-date ‘+%Y-%m-%d’ 指定的之前已备份文件的文件名。

包编译安装

To build and install:

yum -y  install gcc-c++  gcc  cmake  openssl-devel protobuf-devel xz-devel  lzo-devel libunwind-devel
cd zbackup
cmake .
make
sudo make install
# or just run as ./zbackup

使用

zbackup init --non-encrypted /my/backup/repo

tar c /my/precious/data | zbackup backup /my/backup/repo/backups/backup-`date '+%Y-%m-%d'`

zbackup restore /my/backup/repo/backups/backup-`date '+%Y-%m-%d'` > /my/precious/backup-restored.tar
文档更新时间: 2020-03-13 10:34   作者:月影鹏鹏