找出rsync重传文件的原因

找出rsync重传文件的原因

我想将 Linux 服务器 (reiserfs) 中的目录备份到连接到运行 MacOSX 10.13 的 MacBook 的外部 HDD (hfs) 上。

它是 Gentoo Linux,我安装了 rsync 版本 3.1.2。在 MacOSX 上,我通过 Homebrew 安装了 rsync 3.1.2。

现在,我使用 flag -aAxzPiv --delete-delay。早些时候我也有过,-X但因为这个上游 rsync 3.1.2 错误我把它去掉了。我连接到rootLinux 服务器以获得读取所有内容的所有权限,并像sudo在 MacOSX 上一样运行它。即它是这样的:

sudo rsync -aAxzPiv --delete-delay root@server:/mnt/data6 .

它似乎大部分工作,除了一些目录/文件总是会被重新传输(在某些情况下先删除然后传输,尽管我有--delete-delay)。这就是我正在努力解决的问题。

所以,第一个问题:是否有一个很好的标志可以为rsync我提供为什么它认为应该重新传输/删除的信息?有-v, --info--debug这可能会给我这个,但是这些的确切标志是什么? (编辑:谢谢 meuh,我-i现在添加了,这有点帮助,尽管它仍然有限。

我想这可能是一个问题,因为它没有正确保存目标文件上的时间。或者也许在目录上。例如我看到这个:

...
>f..t....... .../Documents/Topologische Spiele und resourcenbeschränkte Baire-Kategorie.pdf
    332,553 100%   15.86MB/s    0:00:00 (xfr#87, ir-chk=1062/50500)
...
>f.st..g.... .../OpenLieroX/Tools/GameCompiler/src/main.cpp
     14,813 100%   14.13MB/s    0:00:00 (xfr#88, ir-chk=1004/198016)
...
>f.st..g.... .../openlierox/tools/GameCompiler/src/main.cpp
      3,891 100%    3.71MB/s    0:00:00 (xfr#95, ir-chk=1003/410613)
...
>f.st....... .../Robot/Main/uMainForm.o
    276,724 100%  330.77kB/s    0:00:00 (xfr#93, ir-chk=1455/198859)
...
*deleting   .../Reise/SF2015/A1602080010(Zeyer).pdf
*deleting   .../Reise/SF2015/
...
.../Reise/SF2015/
.../Reise/SF2015/A1602080010(Zeyer).pdf
        126,218 100%  100.29kB/s    0:00:01 (xfr#566, ir-chk=1001/470897)
...

我猜有多个问题。例如,...resourcenbeschränkte...可能是 Unicode 编码问题。然后openlieroxvsOpenLieroX可能会出现问题,因为目标文件系统不区分大小写。我不确定rsync在这种情况下应该如何表现,是否有任何特殊的逻辑。然后,例如,由于未知原因,文件uMainForm.o总是被重新传输(但不会首先删除)。然后,SF2015首先删除包含所有文件的目录,然后重新传输。

关于正在删除的目录。在服务器上,stat该目录上的 a 给了我:

$ stat .../texte1
  File: '.../texte1'
  Size: 8664        Blocks: 17         IO Block: 4096   directory
Device: 811h/2065d  Inode: 181281      Links: 45
Access: (0755/drwxr-xr-x)  Uid: ( 1002/      gz)   Gid: (  100/   users)
Access: 2016-07-21 03:19:33.000000000 +0200
Modify: 2016-02-06 18:58:10.000000000 +0100
Change: 2016-07-21 03:19:33.000000000 +0200
 Birth: -

在 Mac 上,我得到这个:

$ stat .../texte1
16777225 8884695 drwxr-xr-x 236 (1002) _lpoperator 0 8024 "Nov  4 14:06:39 2017" "Nov  4 14:02:07 2017" "Nov  4 14:02:07 2017" "Feb  6 18:58:10 2016" 4096 0 0 .../texte1

我猜它对时代感到困惑。

那么,下一个问题:我应该使用什么标志?也许我会通过在源端重命名来手动解决不区分大小写的问题(这应该很少见)。也许对于 Unicode 问题也是如此。但我不太明白删除/重传。

另外,也许我应该rsync在 MacOSX 上使用另一个版本?最初的 MacOSXrsync版本是 2.6.9,并且有一些其他标志,我发现还有更多问题,但我不完全确定。

(相关的是这个问题但它并没有真正回答我的问题。还.)

相关内容