adup备份管理
adup备份实践
简介
adup是基于开源备份工具duplicity,使用python语言实现,支持文件全量增量备份,支持小文件打包合并,提供了阿里云归档存储的备份工具。duplicity本身是一个多功能本地和远程的备份软件,支持多种后端存储介质如ftp、ssh和各类云存储。
特性
- 简单易用的命令行使用方式
- 使用rsync对变化数据进行增量备份,提高带宽和存储的高效利用
- 使用标准文件打包压缩格式GNU-tar,能够对增量数据进行追加
- 多种远程存储方式的支持,阿里云归档存储,AWS等
安装
debian发行版本
sudo bash deploy_debian.sh
redhat/centos发行版本
sudo bash deploy_rh.sh
安装完成以后,备份脚本dt-oas-backup.sh 存放在/usr/local/bin/下。
使用步骤
配置
配置可执行文件dt-oas-backup.sh,可参照如下配置项示例修改
# 在redhat/centos发行版本中需要设置,debian环境中可以将其注释
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
# 阿里云归档存储和OSS账号信息
export AliCLD_OAS_HOST="alicloud_oas_host"
export AliCLD_OSS_HOST="alicloud_oss_host"
export AliCLD_ACCESS_ID="alicloud_access_id"
export AliCLD_ACCESS_KEY="alicloud_access_key"
# 签名
export PASSPHRASE="gpg_passphrase"
# 备份目录
ROOT="/home/"
# 远程阿里云归档存储vault
DEST="oas+http://oas-backup-101"
# 匹配包含的备份路径
# > 注:INCLIST的路径不要以'/'结束,否则只会上传目录结构而没有真实文件内容
INCLIST=( "/home" )
# 匹配排出的备份路径
EXCLIST=( "/home/xuser" )
# 日志存放目录
LOGDIR="/tmp/"
# duplicity可执行文件路径,一般在python所在路径的bin目录下
DUPLICITY="path_to_python/bin/duplicity"
执行
- 全量备份
bash dt-oas-backup.sh --full
注:第一次执行备份时,建议执行全量备份。
- 增量备份
bash dt-oas-backup.sh --backup
- 校验备份集
bash dt-oas-backup.sh --verify
Verify complete. Check the log file for results:
>> /tmp/duplicity-2015-11-19_10-02.txt
- 列出备份文件列表
bash dt-oas-backup.sh --list-current-files
Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Thu Nov 19 10:01:32 2015
Wed Oct 21 10:12:14 2015 .
Tue Oct 20 15:28:23 2015 core
Mon Aug 31 09:44:12 2015 core/__init__.py
Wed Aug 19 09:51:05 2015 core/asyncoro.py
Mon Sep 28 17:20:57 2015 core/job.py
Wed Aug 19 16:29:09 2015 core/policy.py
Wed Aug 19 21:03:34 2015 core/resource.py
Wed Sep 23 10:33:42 2015 core/scan.py
- 恢复单个文件
在源文件保留的前提下,可以进行MD5进行校验
bash dt-oas-backup.sh --restore-file core/job.py /tmp/j.py
YOU ARE ABOUT TO...
>> RESTORE: core/job.py
>> TO: /tmp/j.py
Are you sure you want to do that ('yes' to continue)?
yes
Restoring now ...
- 设置cron定时任务
以每天凌晨2点进行备份为例
crontab -e
0 2 * * * bash /usr/local/bin/dt-oas-backup.sh --backup
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论