zbackup是一个基于rsync思想的全局去重数据备份工具。给它传入一个大的tar文件后,它会仅存储一次该文件的重复部分,然后对结果进行压缩,并根据参数确定是否对其加密。传入另一个tar文件后,它会从之前的已备份文件中复用重复数据。只有新的改动会被保存,并且只要文件差异不是很大,需要的存储空间非常少。无论何时,之前的已备份文件都可以被完整地读出来。
zBackup特性使用内置的AES加密算法加密已备份数据
可以删除旧的已备份数据
使用一个64位滚动哈希,保持软碰撞数量为0
备份库由不可更改的文件组成,只有库中不存在的文件才能修改
使用C++语言编写,并且只有适量的依赖库
可以在生产环境安全使用
可以在不同备份库中交换数据而无需重新压缩
在Ubuntu中安装zBackup打开终端并运行如下命令:
sudo apt-get install zbackup
使用zBackupzbackup 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 ~/.mybackuppassword -- 使用位于~/.mybackuppassword的口令文件来加密备份库和待备份文件,以及解密已备份文件。
--threads numberofthreads -- 限制并行LZMA压缩的线程数为 numberofthreads。建议在32位的系统平台使用。
--cache-size cachesizeinmb -- 使用cachesizeinmb中的缓存大小来加速恢复文件的过程。
上述命令中 zBackup 相关文件~/.mybackuppassword 用来加密备份库和待备份文件,以及解密已备份文件。更多细节见zbackup。
/my/backup/repo 存放备份库的目录。
/my/precious/restored-tar 用来恢复已备份文件的tar文件。
/my/backup/repo/backups/backup-date ‘+%Y-%m-%d' 指定的之前已备份文件的文件名。