rsync 两个现有目录复制所有内容

rsync 两个现有目录复制所有内容

我在两个地方有两台文件服务器。目前两台服务器都拥有相同的数据,这些数据通常未经修改(用于只读访问)。设置第二台服务器(我要 ssh 连接的服务器)时,数据通过 LAN 复制,之后已在不同位置移动。

我正在尝试首次在所需目录上使用 rsync。示例命令;

sudo rsync -avz --ignore-existing -P --dry-run /media/Storage/OSs/ user@mydomain:/mnt/Storage/OSs/

我也尝试过使用 -c -t -u(另外进入远程服务器并将时间戳更新为今天),但每次我执行试运行时它都会复制所有内容!

此外,两台机器上的用户是相同的,并且具有相同的 UID。

*编辑

经过一番尝试后,我发现 rsync 不喜欢子目录名称中的空格;例如,如果我使用 ' 来退出本地 shell,使用 \ 来退出远程 shell

sudo rsync -avz --ignore-existing -P'/media/Storage/OSs/Windows/Windows server 2011/''user@mydomain:/mnt/Storage/OSs/Windows/Windows\ server\ 2011/'

那么一切都很好,我的理论是 rsync 不喜欢带有空格的子目录。我有数千个子目录;我能想到的唯一解决方案是编写一个小的 python/shell 脚本来分别运行每个子目录,但这是不可取的。

答案1

事实证明我应该咬紧牙关......试运行只是输出它探索的目录,而不是实际的文件。

我真正运行了 rsync,一切正常,除了一两个新添加的内容外,它跳过了所有内容。

作为参考,这是有效的;

sudo rsync -avzs --ignore-existing --progress '/media/Storage/OSs/' 'User@MyDomain:/mnt/Storage/OSs/'

相关内容