如何在 Linux 上实现两个本地目录的同步(或增量拷贝)?

2020 年 3 月 1 日
 yao990

一台安装了 centos7 的电脑,有目录 A 和目录 B,目录 A 中有二三四级目录及文件若干,现需要每天将目录 A 中的所有文件增量同步到目录 B 中,使用 cp -nr 命令无法实现,请问如何解决?

14893 次点击
所在节点    Linux
64 条回复
April5
2020 年 3 月 1 日
用 rsync 吧,写个脚本以后要备份到远程说不定也可以用
jin7
2020 年 3 月 1 日
linux rsync 非常好 windows 用 beyond compare
longyueshier
2020 年 3 月 1 日
看了下你这个需求就是两个文件之间的增量数据同步问题,大家都把问题想复杂了。
其实很简单就可以完成你的要求
写一条 crontab 定时执行 cp 就好了,还是强制覆盖 B 目录文件
10 8 * * * cp -f 文件绝对路径 /A/* 文件绝对路径 /B/
july1995
2020 年 3 月 1 日
没人推荐 syncthing 嘛,我自己用这个同步我自己电脑的文件到 nas,配置好以后不用管,有文件更改,自动同步。开源,免费,全平台。
flowercoder
2020 年 3 月 2 日
linux 磁盘格式还是很重要的
一般我是 xfs 或是 ext4,其他的一般都不会选。
1nakaELYBbsXbZxY
2020 年 3 月 2 日
rsync
xiaobai555
2020 年 3 月 2 日
可以考虑 inotify 配合 rsync
littlezzll
2020 年 3 月 2 日
initifywait+rsync
fox0001
2020 年 3 月 2 日
我的家用服务器就是 rsync 进行备份的
RRRoger
2020 年 3 月 2 日
rsync
fitmewell
2020 年 3 月 2 日
换个思路,用 git 或者 svn 本地仓库?
faywanghq
2020 年 3 月 2 日
rsync +1,最好的易用的增量同步方案。
CasparLi
2020 年 3 月 2 日
rsync 啊....
encro
2020 年 3 月 2 日
@july1995
我前面推荐了啊,syncthing 全平台还差了一个 iOS,我的 blog 里面也有推荐 Seafile 和 nextcloud 倒是全平台的。
yao990
2020 年 3 月 2 日
@encro 已拜读,我昨天用 rsync 解决了这个问题,问题本质是同一台机器里的两个不同目录之间的增量复制,但是由于两个目录分别位于两个硬盘上,源目录是 xfs 格式,目标目录是 ntfs,而 cp 在 ntfs 上有个时间戳问题,导致复制出错,而 rsync 不存在这个问题。
yao990
2020 年 3 月 2 日
@April5 昨天用 rsync 解决了,备份到远程比这个容易,因为我一直以为 rsync 只能用于异地备份
yao990
2020 年 3 月 2 日
@longyueshier cp 在不同文件系统中存在时间戳问题会导致复制出错,最后用 rsync 解决了
yao990
2020 年 3 月 2 日
@july1995 你可能理解错了,我这个需求是同一个机器上两个不同目录之间的同步,现已经用 rsync 解决了
yao990
2020 年 3 月 2 日
@flowercoder 本地磁盘都是 xfs,而那个 ntfs 是移动硬盘,要在不同的地方读取,为了方便,就用了 ntfs
yao990
2020 年 3 月 2 日
@fitmewell 用 rsync 已经解决了,等下次再有类似需求的时候试试 git

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/648863

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX