duplicity简介
duplicity是一款开源的备份工具,使用librsync高效地支持增量备份,节约本地存储空间,同时使用GnuPG加密数据。duplicity能将数据轻松的备份到本地或远端文件共享存储,同时支持各类云存储。
不过官方版本并没有支持阿里云作为后端存储,最近用oss最新的Python SDK oss2支持了duplicity上传阿里云OSS,先实现了一个简单的版本,在本文附件中可以下载到集成了aliyunbackend的duplicity安装包。
适用场景
- 重要文档数据的打包备份,远端容灾
- 个人linux主机的系统数据备份
- 自建webserver的数据日常和增量备份
使用步骤
安装
确认python版本 > 2.7,
安装依赖:
pip install oss2 #oss python sdk
pip install lockfile
下载附件安装包并解压安装:
tar zxvf duplicity.tar.gz
cd duplicity
python setup.py install
配置阿里云OSS账号AK
首先确认在阿里云控制台开通了OSS服务,并且获取access id/key;
export ALIYUN_OSS_ENDPOINT="aliyun_oss_endpoint"
export ALIYUN_ACCESS_ID="aliyun_access_id"
export ALIYUN_ACCESS_KEY="aliyun_access_key"
执行
- 全量不加密备份
duplicity full --no-encryption backup-src-dir oss+http://oss_backup_bucket_name
- 列出备份目录列表
duplicity list-current-files --no-encryption oss+http://oss_backup_bucket_name
- 恢复备份目录中的单个文件
duplicity restore --file-to-restore 1.file --no-encryption oss+http://oss_backup_bucket_name /tmp/1.restore.file
演示
通过duplicity备份后的文件,可以在阿里云oss控制台查看bucket下object: