如何使用rsync实现差异备份?

脚本备份

1 前言

一个问题,一篇文章,一出故事。
今天有个需求需要使用rsync备份差异的问题,于是整理当前章节。

2.1 环境配置

rsync -avP --delete ~/Downloads/ ~/Downloads-Mirror/
mkdir -p ~/Downloads-Diff/
rm -rf ~/Downloads-Diff/*

然后,通过如下文件查看文件,

tree ~/Downloads*

可见如下显示,

/home/will/Downloads
├── haproxy.cfg
├── haproxytool
└── haproxytool.conf
/home/will/Downloads-Diff
/home/will/Downloads-Mirror
├── haproxy.cfg
├── haproxytool
└── haproxytool.conf

2 directories, 6 files

2.2 环境配置

2.2.1 新增文件

echo testFile > ~/Downloads/testFile.txt
rsync -rltD --delete -b --backup-dir=/home/will/Downloads-Diff/ ~/Downloads/ ~/Downloads-Mirror/ --itemize-changes --out-format="%i|%n"

然后,通过如下文件查看文件的变化,

tree ~/Downloads*

可见如下显示,

/home/will/Downloads
├── haproxy.cfg
├── haproxytool
├── haproxytool.conf
└── testFile.txt
/home/will/Downloads-Mirror
├── haproxy.cfg
├── haproxytool
├── haproxytool.conf
└── testFile.txt

2 directories, 8 files

2.2.2 删除文件

rm -f ~/Downloads/testFile.txt
rsync -rltD --delete -b --backup-dir=/home/will/Downloads-Diff/ ~/Downloads/ ~/Downloads-Mirror/ --itemize-changes --out-format="%i|%n"

然后,通过如下文件查看文件的变化,

tree ~/Downloads*

可见如下显示,

/home/will/Downloads
├── haproxy.cfg
├── haproxytool
└── haproxytool.conf
/home/will/Downloads-Diff
└── testFile.txt
/home/will/Downloads-Mirror
├── haproxy.cfg
├── haproxytool
└── haproxytool.conf

3 directories, 7 files
没有评论

发表回复

Bash
如何实现按原目录结构迁移备份文件?

1 前言 一个问题,一篇文章,一出故事。 笔者最近需要实现将sftp的数据按照原目录结构迁移备份到备 …

Bash
如何自动备份MongoDB?

1 前言 最近需要备份MongoDB,于是定制适用于自己环境的脚本。 2 最佳实践 2.1 环境部署 …

Bash
如何自动备份HDFS Name Node?

1 前言 之前的章节手动完成Hadoop HDFS的NameNode节点备份,本章重点是实现名称节点 …