全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网

adup备份管理

更新时间:2017-06-07 13:26:11

adup备份实践

简介

adup是基于开源备份工具duplicity,使用python语言实现,支持文件全量增量备份,支持小文件打包合并,提供了阿里云归档存储的备份工具。duplicity本身是一个多功能本地和远程的备份软件,支持多种后端存储介质如ftp、ssh和各类云存储。

特性

  • 简单易用的命令行使用方式
  • 使用rsync对变化数据进行增量备份,提高带宽和存储的高效利用
  • 使用标准文件打包压缩格式GNU-tar,能够对增量数据进行追加
  • 多种远程存储方式的支持,阿里云归档存储,AWS等

安装

debian发行版本

  1. sudo bash deploy_debian.sh

redhat/centos发行版本

  1. sudo bash deploy_rh.sh

安装完成以后,备份脚本dt-oas-backup.sh 存放在/usr/local/bin/下。

使用步骤

配置

配置可执行文件dt-oas-backup.sh,可参照如下配置项示例修改

  1. # 在redhat/centos发行版本中需要设置,debian环境中可以将其注释
  2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  3. # 阿里云归档存储和OSS账号信息
  4. export AliCLD_OAS_HOST="alicloud_oas_host"
  5. export AliCLD_OSS_HOST="alicloud_oss_host"
  6. export AliCLD_ACCESS_ID="alicloud_access_id"
  7. export AliCLD_ACCESS_KEY="alicloud_access_key"
  8. # 签名
  9. export PASSPHRASE="gpg_passphrase"
  10. # 备份目录
  11. ROOT="/home/"
  12. # 远程阿里云归档存储vault
  13. DEST="oas+http://oas-backup-101"
  14. # 匹配包含的备份路径
  15. # > 注:INCLIST的路径不要以'/'结束,否则只会上传目录结构而没有真实文件内容
  16. INCLIST=( "/home" )
  17. # 匹配排出的备份路径
  18. EXCLIST=( "/home/xuser" )
  19. # 日志存放目录
  20. LOGDIR="/tmp/"
  21. # duplicity可执行文件路径,一般在python所在路径的bin目录下
  22. DUPLICITY="path_to_python/bin/duplicity"

执行

  • 全量备份
  1. bash dt-oas-backup.sh --full

注:第一次执行备份时,建议执行全量备份。

  • 增量备份
  1. bash dt-oas-backup.sh --backup
  • 校验备份集
  1. bash dt-oas-backup.sh --verify
  2. Verify complete. Check the log file for results:
  3. >> /tmp/duplicity-2015-11-19_10-02.txt
  • 列出备份文件列表
  1. bash dt-oas-backup.sh --list-current-files
  2. Local and Remote metadata are synchronized, no sync needed.
  3. Last full backup date: Thu Nov 19 10:01:32 2015
  4. Wed Oct 21 10:12:14 2015 .
  5. Tue Oct 20 15:28:23 2015 core
  6. Mon Aug 31 09:44:12 2015 core/__init__.py
  7. Wed Aug 19 09:51:05 2015 core/asyncoro.py
  8. Mon Sep 28 17:20:57 2015 core/job.py
  9. Wed Aug 19 16:29:09 2015 core/policy.py
  10. Wed Aug 19 21:03:34 2015 core/resource.py
  11. Wed Sep 23 10:33:42 2015 core/scan.py
  • 恢复单个文件

在源文件保留的前提下,可以进行MD5进行校验

  1. bash dt-oas-backup.sh --restore-file core/job.py /tmp/j.py
  2. YOU ARE ABOUT TO...
  3. >> RESTORE: core/job.py
  4. >> TO: /tmp/j.py
  5. Are you sure you want to do that ('yes' to continue)?
  6. yes
  7. Restoring now ...
  • 设置cron定时任务

以每天凌晨2点进行备份为例

  1. crontab -e
  2. 0 2 * * * bash /usr/local/bin/dt-oas-backup.sh --backup
本文导读目录