所以我知道 rsync 通过使用校验和算法来工作,该算法根据文件大小和日期更新文件。但是这种同步不是取决于源和目标的调用方式吗?源到目标的顺序不会改变同步内容的行为吗?
让我到达我要去的地方..
显然这个input1
rsync -e ssh -varz ~/local/directory/ [email protected]:~/remoteFolder/
不等于input2
rsync -e ssh -varz [email protected]:~/remoteFolder/ ~/local/directory/
但我认为无论以哪种方式调用 rsync,其全部意义在于,任何较新的文件都会在本地和远程目标之间更新。
但是,这似乎取决于您的新文件是否位于源位置而不是目标位置下。如果我更新了文件1在我的本地机器上(相同,但较旧文件1在服务器上),保存它,然后用于code2
在位置之间同步,我注意到新版本文件1在我的本地计算机上无法上传到服务器。它实际上用旧版本覆盖了更新的文件。如果我使用input2
它,会将修改后的内容上传到服务器。
有没有一种方法可以运行 rsync 来实现字面上的同步新的和修改的文件,无论源位置还是目标位置都会根据较新/修改的文件位置首先调用?
答案1
答案2
为了最简单的情况一个人可能效率低下
$ rsync -au AB; rsync-au BA
将最新的文件复制到双方。所以这是可能的。但不推荐。