linux 全新的备份神器  Duplicity

Duplicity 使用 librsync 生产一个非常小的额外备份。它能够生成递增备份,然后使用 GPG 进行加密,能够适用常用的方法发送至另一个服务器上,比如:scp、ftp、sftp、rsync等等。可以从任何目录开始备份,不限于加载点(mountpoint),并且可以指定你想要排除的文件。

安装也很简单,使用yum安装和下载duplicity的源码包,编译安装也可以。

1.安装所需要依赖(安装epel源)

yum install -y gcc-c++ librsync python-lockfile python-urllib3 python-setuptools python-devel librsync-devel

2.下载duplicity源码包

3.解压,并安装

tar xvf duplicity-0.7.07.tar.gz

cd duplicity-0.7.07

python setup.py install

4.验证是否安装成功,并查看版本

echo $?

duplicity -V

如果使用yum无法安装,请安装epel的扩展源,再yum安装

www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_64.noarch.rpm

http://duplicity.nongnu.org/duplicity.1.html

注意:在设置备份时,请同时备份好设置的密钥,如果密钥丢失,你备份的数据也无法解密,所以把密钥刻录多张cd作为多个备份。

语法:

duplicity [actions] [options] source_directory target_url

action:

full           会强制的完整备份,即使可以使用增量备份

incr           使用增量备份,但是第一次备份时会忽略,而使用完整备份

verify          比较备份和当前文件的修改时间

list-current-files    列出当前最新备份的文件

collection-status    列出备份的状态,有多少个完整备份及增量备份,备份的时间等等.

例如:

1.列出备份文件的状态

duplicity collection-status --ssh-options="-oPort=8888 -oIdentityFile=/home/abc/sK/id_rsa" sftp://mysftp@backup/  /upload/

#--ssh-options 指定链接所使用的端口号

#-oIdentityFile 指定ssh密钥的位置

2.删除存在的时间超过1年的文件

#--force 如果不加上这个这个参数,则是列出要删除的文件,而不会删除他们。

#remove-older-than 删除比指定时间要旧的文件

#--no-encryption   不加密,

案例:

1.本机备份

duplicity full --include /data/test/iptables  --exclude '**' /data file:///aaa

2.查看备份的文档

duplicity list-current-files file:///aaa ##/aaa为备份的路径

3.恢复备份

duplicity restore file:///aaa /data/restore  ##file:///aaa是备份的路径 ##/data/restore是还原到的路径

4.如果只想恢复完全备份中的某个文件是可以使用--file-to-restore选项

duplicity restore --file-to-restore=passwd file:///aaa /abc/passwd  ##--file-to-restore使用的是相对路径,file:///aaa是备份文件的路径,/abc/passwd是文件恢复的路径,passwd是指定的文件名

--restore-time "2002-01-25"  恢复某个特定时间的备份数据

--log-file /backup/test/$dir.log 指定日志文件

--tempdir /backup/tmp       指定临时文件路径

--encrypt-key=102CB07A      指定密钥加密

5.恢复指定时间备份的数据

duplicity restore --restore-time "2017-01-01T19:53:52" file:///aaa /bbb/passwd4

6.使用密钥尽享加密

duplicity full --encrypt-key=2A7669AD --include /etc/passwd --exclude '**' /etc file:///backup

如果想使用duplicity的更多应用,请使用man duplicity的详细。

更方便的是写成脚本,放在计划任务里面,自动备份

#!/bin/bash

export PASSPHRASE="xxxxxx"

#mkdir /mnt/df

#mount.cifs //192.168.0.100/E$ /mnt/df -o username='SHUOBAOTANG/administrator',password='xxxxx'

DIRS='aaa

bbb

ccc

internal_ldap

mail_backup

'

for dir in $DIRS; do

echo "start backup $dir"

#    mkdir /mnt/100/$dir

#    duplicity full --encrypt-key=102CB07A /mnt/21/e/$dir file:///mnt/69/$dir --log-file /bak/test/$dir.log --tempdir /bak/tmp --archive-dir /bak/tmp

duplicity full --encrypt-key=102CB07A /backup/$dir file:///mnt/50/e/$dir --log-file /home/log2/$dir.log --tempdir /home/tmp --archive-dir /home/tmp

duplicity verify --encrypt-key=102CB07A file:///mnt/50/e/$dir /backup/$dir --log-file /home/log2/$dir.log --tempdir /home/tmp --archive-dir /home/tmp

#    duplicity full --encrypt-key=102CB07A  scp://root@192.168.0.46//backup/chenmi/$dir /backup2/$dir --log-file /backup1/test/$dir.log --tempdir /backup1/tmp --archive-dir /backup1/tmp

#    duplicity verify --encrypt-key=102CB07A /backup2/$dir scp://root@192.168.0.46//backup/chenmi/$dir   --log-file /backup1/test/$dir.log --tempdir /backup1/tmp --archive-dir /backup1/tmp

done

You have mail in /var/spool/mail/root

格式如下:

duplicity [full|incremental] [options] source_directory target_url

duplicity verify [options] [--compare-data] [--file-to-restore ] [--time time] source_url

target_directory

duplicity collection-status [options] [--file-changed ]

target_url

duplicity list-current-files [options] [--time time] target_url

duplicity [restore] [options] [--file-to-restore ] [--time time] source_url

target_directory

duplicity remove-older-than  [options] [--force] target_url

duplicity remove-all-but-n-full  [options] [--force] target_url

duplicity remove-all-inc-of-but-n-full  [options] [--force] target_url

duplicity cleanup [options] [--force] [--extra-clean] target_url

编辑脚本,执行命令备份

vim duplicity.sh#!/bin/bash

# set up the GPG private key password

#这里设置的PASSPHRASE就是你的GPG密钥的密码

#PASSPHRASE=xxxxxx

#export PASSPHRASE

#set the ssh key password

#FTP_PASSWORD是你的ssh密钥的密码,导入到环境中就不用手动输入了

FTP_PASSWORD=mypassword

export FTP_PASSWORD

#upload server root ,exclude /proc /sys /tmp to sftp server,and no encryption

#下面是备份根目录,--exclude表示将 /proc /sys /tmp 除外 ,这里需要注意的是,duplicity文档中特别注明了如果你要备份根,那么必须要把 /proc除外

#下面的 --dry-run表示并没有实际运行,只是测试,而 --ssh-options后面的是ssh的一些设置,端口号为8888,ssh密钥的位置.

duplicity -v5 --dry-run --progress   --no-encryption --ssh-options="-oPort=8888 -oIdentityFile=/home/xx/private/id_rsa" --exclude /proc --exclude /sys --exclude /tmp / sftp://mysftp@youserver.locastion/upload/#unset varunset FTP_PASSWORD

备份虽然重要,单恢复更为重要。

在备份前,先列出所有备份的文件,确定好备份的文件在做相应的回复,如果命令不是很熟练的话,请先自己在别的机器上演戏几遍,以免发生不必要的错误。

1.列出备份的文件

duplicity list-current-files scp://mybackup/directoryname/home/

恢复某个特定日期的文件   添加:--restore-time "2016-09-22"

结论:Duplicity 非常棒,而且速度也很快。这是因为善用 libsync 让备份变得很小,同时也因为他们保持了备份文件的索引,这样为了获得文件列表无需对整个备份进行读取。备份文件很小,划分为多个小文件,这样源机器就不需太多的临时空间。用起来也非常简单:他们能够完成所有递增和完整备份的工作,从而让你能够把关注焦点放在对什么进行备份和恢复上。、

本文章是自己测试或参考网络文档。如果有错误请指出,或者与我交流。

linux 备份信息查看器,linux 全新的备份神器 Duplicity相关推荐

  1. linux 备份信息查看器,Linux_MaxDOS V6 系统备份查看器 批处理代码,复制代码 代码如下:@echo off :_ma - phpStudy...

    MaxDOS V6 系统备份查看器 批处理代码 复制代码 代码如下: @echo off :_max mode con: cols=62 lines=23 set bt=MaxDOS V6 系统备份查 ...

  2. linux usb信息查看工具,Linux下,查看USB设备信息

    首先需要将usbfs挂载一下,然后才能查看. $ mount -t usbfs none /proc/bus/usb $cat  /proc/bus/usb/devices或者在文件(/etc/fst ...

  3. linux查看exif软件,EXIF信息查看器使用教程及功能解析

    EXIF信息查看器是一款查看EXIF信息的专业软件,为方便查看EXIF信息而设计开发,功能强大,使用方便,操作逻辑简单.EXIF信息查看器的官方版本可以让您快速查看EXIF数码照片的拍摄时间.相机名称 ...

  4. Python之Django实例--sysinfo项目搭建(中文版 Linux 服务器信息查看应用)

    文章目录 1. 创建项目 1.1 创建项目 1.2 创建App 1.3 配置setting 1.4 生成迁移文件并设置管理员 1.5 测试是否配置成功 1.6 git 提交 1.6.1 设置忽略文件 ...

  5. redhat linux 硬件信息查看

    redhat linux 硬件信息查看 查看服务器型号序列号 dmidecode|grep "System Information" -A9 查看主板型号 dmidecode | ...

  6. Linux记载磁盘信息,分享一款高逼格的Linux磁盘信息查看工具

    原标题:分享一款高逼格的Linux磁盘信息查看工具 可以使用df命令来显示在Linux.macOS和类Unix系统中挂载的文件系统上有多少可用磁盘空间.还可以使用du命令来估计文件空间的使用情况.我们 ...

  7. centos so查看_照片信息查看器app安卓下载-照片信息查看器app下载v1.1.0 安卓版

    照片信息查看器app是一款超棒的照片查看类软件.完美的帮助你查看处理照片信息内容!方便简单的操作,快速的阅读功能,支持各种文件类型格式,了解最新图片的各种参数设置! 照片信息查看器app安卓应用介绍 ...

  8. linux文档查看器翻译,mdv – Linux终端下的 Markdown 文档查看器

    现在,Markdown 差不多已经成为技术文档的标准.它可以实现技术文档的快捷写作,以及输出发布.同样都是标记语言,但Markdown 文档相比HTML更加简单.一是体现在标记符的数量上,二是体现在标 ...

  9. linux qt目录查看器,6个轻量级的Qt图像查看器为Linux | MOS86

    Image观众在您只想查看几张照片或快速组织文件夹而不使用精心制作的图像管理软件时很有用.主要的Linux发行版默认提供至少一个图像查看器,如果你此列表中并不是所有的应用程序都是仅Linux版本的;事 ...

最新文章

  1. CF735E Ostap and Tree
  2. 使用ffmpeg裁剪和合并视频
  3. ecshop订单打印页显示商品缩略图和序号
  4. Angular里的购物车页面实现
  5. 怎么通俗易懂地解释贝叶斯网络和它的应用?
  6. Hadoop学习笔记—15.HBase框架学习(基础知识篇)
  7. qpsk的映射过程_FPGA数字信号处理(28)QPSK星座映射与解映射
  8. Linux双网卡bonding举例
  9. 若启用该计算机上的无线功能 请使用,无线网络启用后还显示已禁用怎么办_常见问题解析...
  10. SCM供应链管理系统实施困难及解决方案
  11. Hive grouping sets 多维度交叉清洗数据
  12. html怎么创建表格,html怎么做表格
  13. KVM虚拟化技术介绍以及相关操作
  14. java rxtx version_RXTX Version mismatch
  15. 文件夹怎么加密 怎么给文件夹加密
  16. 基于图神经网络的知识图谱研究进展
  17. 用计算机打字教案,教学设计-有趣的打字练习游戏
  18. V4L2视频输入框架概述
  19. 将字符串转换成对应的数
  20. 欧姆龙OMRON PLC之HostLink通讯协议(五)- CP1H以太网FINS/TCP通讯实例

热门文章

  1. kotlin List删除一个元素,添加一个元素
  2. dede搜索结果页列表标题长度修改方法
  3. 【华人学者风采】张良培 武汉大学
  4. 企业邮箱管理员在哪里找?域名邮箱如何管理?
  5. Linux红帽8.2系统中引导过程及引导修复
  6. Java实现找零问题
  7. 9大常见光固化3D打印树脂分析
  8. OpenGl学习笔记二:创建自己的着色器
  9. WFP(三)——编译、部署驱动文件*.sys——微软msnmntr项目
  10. 【APP项目环境及发布平台】