AliCloud Duplicity

简介: alicloud-duplicity是基于duplicity的开源数据备份工具,支持增量备份、数据加密,完全兼容duplicity。本文介绍了alicloud-duplicity的使用场景、安装方法、常用命令等。

简介

duplicity是一款开源的备份工具,使用librsync支持增量备份,节约本地存储空间,同时使用GnuPG加密数据。duplicity能将数据轻松的备份到本地、共享存储和云存储等。alicloud-duplicity是基于duplicity、支持OSS存储的开源备份工具,alicloud-duplicity支持duplicity的所有命令和参数。

适用场景

  • 重要文档或数据的打包备份,远端容灾。
  • 个人Linux主机的系统数据备份。
  • 自建WebServer数据的日常或增量备份。

安装

环境

  • Linux
  • Python 2.7

snap安装

使用以下命令安装alicloud-duplicity。

sudo snap install alicloud-duplicity --edge --devmode

提示:

  • snap是类似于yum的包管理工具,详细介绍及安装方法请参看Docs

源码安装

CentOS

  • 安装依赖插件。
sudo yum install https://mirrors.kernel.org/fedora-epel/7/x86_64/e/epel-release-7-10.noarch.rpm -y
sudo yum install python-devel librsync-devel python-pip -y
sudo pip install oss2 fasteners configparser
  • 下载。从GitHub下载。
  • 安装。执行安装命令,sudo python setup.py install
  • 验证。执行命令 alicloud-duplicity -V 安装成功会显示版本号。

Ubuntu

  • 安装依赖插件。
sudo apt install librsync-dev python-pip python-dev -y
sudo pip install oss2 fasteners configparser setuptools
  • 下载。从GitHub下载。
  • 安装。执行安装命令,sudo python setup.py install
  • 验证。执行命令 alicloud-duplicity -V 安装成功会显示版本号。

配置

安装alicloud-duplicity之后,您需要配置OSS的访问域名Endpoint和访问密钥AccessKeyId/AccessKeySecret,才能用备份到OSS或从OSS恢复。alicloud-duplicity支持两种配置方式,配置文件和环境变量。

注意:

  • 如果配置文件和环境变量都配置了,环境变量的配置将被使用。

配置文件

配置文件为~/.alicloud.cfg,配置文件内容格式如下:

[oss]
endpoint = http://oss-cn-hangzhou.aliyuncs.com
access_key_id = Jwd12S**********ZBs
access_key_secret = ir8Qt4h0kwx********u1SpmxM5QE

环境变量

在Linux终端执行以下命令,或者在加入用户环境配置文件(~/.bashrc~/.bash_profile)。

export ALICLOUD_OSS_ENDPOINT=http://oss-cn-hangzhou.aliyuncs.com
export ALICLOUD_ACCESS_KEY_ID=Jwd12S**********ZBs
export ALICLOUD_ACCESS_KEY_SECRET=ir8Qt4h0kwx********u1SpmxM5QE

使用

下面对OSS的alicloud-duplicity常用命令进行说明,完整的帮助信息请参看Docs

备份

  • 全量备份
sudo alicloud-duplicity full /etc oss://bucket-name/keyfolder/
  • 增量备份
sudo alicloud-duplicity incr /etc oss://bucket-name/keyfolder/
  • 自动选择备份类型
sudo alicloud-duplicity /etc oss://bucket-name/keyfolder/  
sudo alicloud-duplicity --full-if-older-than 7D /etc oss://bucket-name/keyfolder/  # 对重要数据,应经常做全量备份,用--full-if-older-than指定全量备份时间间隔。
  • 定时备份
    利用 crontab -e 设定每天凌晨3点自定执行脚本timedbackup.sh,写入 0 3 */1 * * timedbackup.sh。脚本timedbackup.sh的内容如下:
sudo alicloud-duplicity --full-if-older-than 7D /etc oss://bucket-name/keyfolder/
  • 备份多个目录
alicloud-duplicity --include /etc --include /home/aliyun --exclude '**' / oss://bucket-name/keyfolder/

恢复

  • 恢复文件夹
sudo alicloud-duplicity restore oss://bucket-name/keyfolder/ /home/tmp/
  • 恢复特定文件
sudo alicloud-duplicity --file-to-restore file1 oss://bucket-name/keyfolder/ /home/tmp/

其它

  • 列出备份目录列表
sudo alicloud-duplicity list-current-files oss://bucket-name/keyfolder/
  • 查看备份状态
sudo alicloud-duplicity collection-status oss://bucket-name/keyfolder/

注意

alicloud-duplicity的备份文件如果损坏,会导致数据无法恢复。特别是在增量备份时,如果有中间版本损坏,会导致该次之后的数据无法恢复。对重要数据,应经常做全量备份;对于不再修改的数据,应立即做一次全量备份。

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
目录
相关文章
|
缓存 网络协议 安全
|
存储 缓存 对象存储
利用云存储网关在Windows上挂载OSS
概述 阿里云OSS提供了海量低成本高可靠的对象存储,非常适合于存储文件,图像,视频等非结构化数据,同时也提供了丰富的SDK生态给开发者集成使用。但是对于开发资源有限的小企业或者个人用户而言,直接使用OSS存储还是存在诸多不便。
11732 1
利用云存储网关在Windows上挂载OSS
|
7月前
|
人工智能 自然语言处理 Serverless
新突破!阿里云携手技威时代共同开启 IPC 智能化新阶段
阿里云IPC AI方案融合千问大模型视觉理解与OSS Metaquery多模态检索,实现Serverless、低成本、高准召的智能视频检索。无需硬件改造,存量设备即可升级,一句自然语言唤醒沉睡视频,让“看”升级为“懂”。
428 5
|
编解码 数据处理 API
如何用阿里云OSS对图片和视频进行数据处理?
本文介绍了如何利用阿里云对象存储OSS进行图片和视频处理。OSS提供了丰富的功能,如图片的缩放、裁剪、旋转和水印添加等,用户只需在图片URL后附加处理参数即可实现自动化处理。同时,OSS还支持自定义样式模板,便于批量操作。对于视频处理,OSS支持转码、截图、拼接等功能,满足多终端播放需求。通过OSS的API和SDK,开发者可以方便地集成这些功能,提升数据管理效率。
|
11月前
|
Linux 定位技术
kali Linux 2025.2 安装失败-解决
在安装 Kali Linux 时,若出现“选择并安装软件”步骤失败,通常由网络连接、软件源或硬件驱动问题引起。建议首先尝试重试,若仍失败,可更换为国内镜像源(如阿里云、清华大学或中科大镜像)以提高下载速度和安装成功率。
2638 0
kali Linux 2025.2 安装失败-解决
|
11月前
|
人工智能 自然语言处理 小程序
VibeCoding On Function AI Deep Dive:用 AI 应用生产 AI 应用
本文介绍了如何通过自然语言构建AI应用,展示了使用VibeCoding技术实现儿童教育、娱乐及企业网站智能问答等场景的实战案例。无需编程,仅凭对话即可完成开发、发布,体现了AI时代软件开发的变革与创新。
|
10月前
|
JSON 缓存 API
淘宝天猫商品详情API秘籍!轻松获取SKU属性数据
淘宝商品详情API(taobao.item.get)可获取商品标题、价格、SKU、库存等全量信息,支持RESTful调用,返回JSON数据,适用于电商导购与竞品分析。需企业实名认证,申请权限后通过签名加密请求。Python示例展示如何调用接口,配合fields参数可优化性能,应对频率限制与数据延迟建议轮询+缓存策略。
|
缓存 云计算
这个夏天,追光动画在阿里云上“绘出”《长安三万里》
追光动画已和阿里云合作多年,从《阿唐奇遇》到《白蛇2:青蛇劫起》、《新神榜:杨戬》和这次的《长安三万里》等。
这个夏天,追光动画在阿里云上“绘出”《长安三万里》
|
数据采集 Linux 数据处理
深入了解Linux命令:rev
`rev`命令在Linux中反转文本字符顺序,用于数据预处理和分析。它可以改变每行字符的排列,例如`echo "Hello, World!" | rev`输出`!dlroW ,olleH`。常用参数包括显示版本信息的`-V`。结合其他命令如`cat`,可处理文件内容。注意行格式和性能影响,适用于小到中型数据处理。
|
前端开发 JavaScript Python
PV
【6月更文挑战第24天】
2053 10