rsync的:如何在两个方向同步?(RSync: How do I synchronize in b

2019-08-31 06:59发布

我想用rsync将两个目录在两个方向同步

我指的是传统意义上的(它不是如何rsync的手册意思)同步:
我想更新在两个方向上的目录,这取决于它们是新的

可以通过这个rsync的(最好在一个Linux的方式)来完成?
如果不是,有什么其他的解决方案?

Answer 1:

只要运行它两次,用“新”模式(-u或--update标志)加-t(复制文件修改的时间),-R(递归文件夹)和-v(详细输出,看看它是什么这样做):

rsync -rtuv /path/to/dir_a/* /path/to/dir_b
rsync -rtuv /path/to/dir_b/* /path/to/dir_a

这不会删除处理,但我不知道有很好的解决了这个问题,只有正在同步的周期性。



Answer 2:

你知道齐奏文件同步 ?

齐声是Unix和Windows中的文件同步工具。 它允许的文件和目录的集合的两个副本被存储在不同的主机(或在同一主机上不同的磁盘),改性分开,然后通过传播在每个副本到其他带来的变化是最新的。 ...

还需要注意的是弹性要失败:

齐奏是有弹性的失败。 这是认真在任何时候都留在一个合理的状态的副本和自己的私人结构,即使在异常终止或通信故障的情况下。



Answer 3:

由于jsight

rsync -urv --progress dir_a dir_b && rsync -urv  --progress dir_b dir_a

这将导致第二同步立即发生后第一次同步结束。 如果目录结构是巨大的,这会节省时间,因为一个不需要电脑前坐下。 如果结构是巨大的,去掉冗长和进步的东西

rsync -ur dir_a dir_b && rsync -ur dir_b dir_a


Answer 4:

使用rsync <OPTIONS> [hostname:]source-dir [hostname:]dest-dir

例如:

rsync -pogtEtvr --progress --bwlimit=2000 xxx-files different-stuff

将同步XXX-文件不同,东西/ XXX-文件。如果不同,东西/ XXX-文件不存在,它会创建它 - 即复制它。

-pogtEtv -选项只是一堆保存文件元数据,加v -详细和r -递归

--progress -同步显示实时的进展-超级有用的,如果你复制大文件

--bwlimit=2000 -设置复制/同步(BW =带宽)的最大速度

当你在本地机器的情况下,通过网络工作,你可以使用命令cp一样PS Rsync是非常重要的。

祝好运!



Answer 5:

我用rsyncinotifywait 。 当您更改的任何文件, rsync将被执行。

inotifywait -m --exclude "$_LOG_FILE" -r -e create,delete,delete_self,modify,moved_to --format "%w%f" "$folder"

你需要运行inotifywait两个主机上。 请检查例子inotifywait



Answer 6:

你需要的是Rclone 。 Rclone(“rsync的云存储”)是一个命令行程序的Linux文件和目录同步,并从不同的云存储提供商(盒,Dropbox的,FTP等)和本地文件系统。 Rlone仅支持镜同步。

另一个更图形解决方案,包括实时同步将是使用FreeFileSync ,其中包括程序RealTimeSync。 FreefileSync支持2路双向同步,其中包括处理删除。



文章来源: RSync: How do I synchronize in both directions?
标签: linux rsync