rsync 到远程服务器,时差以秒为单位

rsync 到远程服务器,时差以秒为单位

我用来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 功率,计算文件校验和可能会稍微减慢传输会话的速度。但是,嘿,不要再抱怨时间戳了!

相关内容