Chinaunix
标题:
如何实现差异备份和增量备份
[打印本页]
作者:
冰谛
时间:
2014-12-09 17:03
标题:
如何实现差异备份和增量备份
例如我需要将A目录及其子目录下的所有.txt文件备份到B目录中,以后每次备份的时候进行比较,若A目录中新产生.txt文件,或者某一文件做了改动,都将其备份到B目录中,求大神帮忙解决,不甚感激!
作者:
dn833
时间:
2014-12-09 17:25
本帖最后由 dn833 于 2014-12-09 17:27 编辑
rsync -avz --include="*.txt" /patha /pathb
复制代码
作者:
冰谛
时间:
2014-12-09 18:03
回复
2#
dn833
多谢大神,我刚试了一下,这个将A目录下的所有内容都备份到B目录中,但是我需要备份的是“.txt"的文件,不知道是不是环境的问题,我的用户环境是csh。
作者:
李满满
时间:
2014-12-09 18:28
学生党:飘过~
rsync -avz /patha/*.txt /pathb 很好用的工具啊
作者:
冰谛
时间:
2014-12-09 20:24
回复
4#
李满满
patha下面如果有子目录呢?
作者:
冰谛
时间:
2014-12-09 20:44
我自己写了个备份A目录下新产生.txt文件的脚本如下:
#!/bin/bash
Dir1=A
Dir2=B
for i in `find $Dir1 -name "*.txt"`
do
var1=`echo $i | awk -F "/" '{print $NF}'`
var2=`find $Dir2 -type f | grep $var1`
if [ -z "$var2" ]
then
cp $i $Dir2/
fi
done
exit $?
但是有个问题,如果A目录及其子目录中有同名文件,就无法处理。
还有就是差异备份不知道如何实现,二楼大神的方法虽好,但是却不满足我的需求。
作者:
blackold
时间:
2014-12-09 23:09
回复
1#
冰谛
粗略地:
rsync -av --del --delete-excluded -f '+ */' -f '-! *.txt' path/to/A/ path/to/B/
复制代码
作者:
冰谛
时间:
2014-12-10 09:41
回复
7#
blackold
黑哥果断大神,但是我还是有个问题,如果这样备份,我在A目录改动某一个.txt文件,然后执行你的命令,这样会将B目录下之前备份的文件覆盖掉。
作者:
blackold
时间:
2014-12-10 09:49
本帖最后由 blackold 于 2014-12-10 09:49 编辑
回复
8#
冰谛
那你期望如何?
这只是同步工具,也许你需要不是同步,而是 VCS。
作者:
冰谛
时间:
2014-12-10 10:19
回复
9#
blackold
刚才查了下手册页,加-b选项似乎可以解决这个问题,多谢黑哥!
作者:
blackold
时间:
2014-12-10 10:43
回复
10#
冰谛
不客气。
哦,-b 很少用。可以多次备份旧文件吗?
作者:
冰谛
时间:
2014-12-10 10:49
回复
9#
blackold
我想实现的情况是这样的:
1.找出A目录及其子目录中所有的.txt文件,在B目录下新建一个文件夹,将所有.txt文件存放其中;
2.若A目录中新产生.txt文件或者某一个txt文件做了改动,在B目录下再新建一个文件夹,将改动或者新产生的内容存放其中;
3.定制任务计划,每天备份
作者:
blackold
时间:
2014-12-10 10:53
回复
12#
冰谛
哦,那用 rsync 可以实现了。
创建名为当前日期 backup-dir ,这样应该可以了。
作者:
珍珍zz
时间:
2015-04-27 12:38
你好,可以使用”轻松备份“软件来进行增量或者差异备份。操作简单方便。。。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2