You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询远程rsync守护进程的版本号,以及本地运行中的rsync守护进程版本?

如何查询远程rsync守护进程的版本号,以及本地运行中的rsync守护进程版本?

一、查询远程rsync守护进程版本

直接给远程rsync发送--version参数是没用的(这个参数只会返回本地客户端的版本),可以试试这两种实用方法:

方法1:通过netcat获取协议版本(间接推断软件版本)

rsync守护进程在TCP连接建立时,会主动返回协议版本号。用nc命令连接远程服务器的873端口(rsync默认端口):

nc myserver.local 873

你会收到类似@RSYNCD: 31的输出,这里的数字就是协议版本。协议版本和rsync软件版本的对应关系大致是:

  • 协议31 → rsync 3.2.0及以上(比如你安装的3.2.7)
  • 协议29 → rsync 3.0.0-3.1.3(比如NAS自带的3.0.7)
  • 协议28 → rsync 2.6.x系列

方法2:通过rsync调试输出验证

请求一个不存在的共享目录,结合高 verbose 级别,能在调试信息里看到服务器的协议版本:

rsync -vvn myserver.local::nonexistent_share

输出里会出现类似server version: 31的行,再对照上面的对应关系就能推断出软件版本。

二、查询本地运行中的rsync守护进程版本

如果你已经通过ps看到了rsync daemon的进程,想要确认它的版本,可以用这两种方式:

方法1:通过进程PID获取可执行文件路径

先拿到daemon的PID(比如你例子里的12682),然后查看这个进程对应的实际可执行文件:

ls -l /proc/12682/exe

这会输出rsync二进制文件的真实路径(比如/opt/bin/rsync),直接执行这个路径的--version就能得到版本:

/opt/bin/rsync --version

方法2:检查环境默认的rsync路径

如果你的daemon是用相对路径启动的(比如命令里只有rsync --daemon),可以先看当前环境默认的rsync是哪个:

which rsync

如果输出是你通过Entware安装的路径(比如/opt/bin/rsync),那直接执行rsync --version就能确认版本——因为daemon启动时会调用这个路径的二进制文件。

另外,也可以用ps -ef | grep rsync查看完整的进程命令,如果里面是绝对路径,直接用那个路径查版本就行。

备注:内容来源于stack exchange,提问作者Jim DeLaHunt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:29:29