我用来rsync -vua
将本地文件同步到远程服务器。然而,
问题是远程服务器的时间只快了 1 秒,这导致了当我rsync -vua
再次执行时,我会得到一个巨大的 , 列表some file is newer
,而不是一个不需要传输任何内容的干净输出。
同步我的时间本地机器没有帮助。
远程服务器是 Debian 11。
本地机器是 WSL Debian 11:
$ apt-cache policy rsync
rsync:
Installed: 3.2.3-4+deb11u1
Candidate: 3.2.3-4+deb11u1
Version table:
*** 3.2.3-4+deb11u1 500
500 http://deb.debian.org/debian bullseye/main amd64 Packages
100 /var/lib/dpkg/status
$ rsync -V
rsync version 3.2.3 protocol version 31
更新:
我将 ntp 安装到远程服务器(感谢您的建议),但它的时间现在快了亚秒(因此报告的问题仍然是 OP),因为我的本地计算机是 Windows。我知道理论上远程和本地会有完全相同的时间,但是现实是:
$ sudo ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.debian.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
1.debian.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
2.debian.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
3.debian.pool.n .POOL. 16 p - 64 0 0.000 +0.000 0.000
-65-100-46-166.d .SOCK. 1 u 201 1024 377 83.923 -1.124 0.197
-time.skylineser 130.207.244.240 2 u 530 1024 377 27.402 -1.442 0.440
*50.205.244.112 50.205.244.28 2 u 617 1024 377 16.331 +0.940 0.344
-168.61.215.74 25.66.230.4 3 u 382 1024 377 23.048 -0.565 0.280
+23.157.160.168 129.6.15.28 2 u 363 1024 377 7.697 +0.106 0.876
+45.83.234.123 ( 10.1.105.4 2 u 606 1024 377 85.007 +0.903 0.242
似乎连某些时间服务器也不能彼此一致。
因此,Windows 和 Debian 时间服务器之间存在亚秒级差异似乎是不可能的。
答案1
您已经找到了问题的根源——时间同步。必须在远程和本地服务器上启用 NTP(或其他时间同步进程)。
答案2
您还没有说明为什么要使用该-u
选项,该选项会跳过目的地具有较新时间戳的文件。如果这很重要,那么避免这些错误消息可能并不容易。
您可以尝试的一件事是让 rsync 使用该选项根据校验和的内容选择要传输的文件-c
。-c
在常用选项之后添加该选项-va
:
rsync -va -c
or
rsync -vac
(击败它-u
后保留没有意义)-c
根据您要传输的文件数量以及每端可用的 CPU 功率,计算文件校验和可能会稍微减慢传输会话的速度。但是,嘿,不要再抱怨时间戳了!