我们正在将文件从本地 (Windows) 传输到远程系统 (Unix)。在几个设置中,我们收到错误代码 #13。手册页说这是Errors with program diagnostics
。
在我们的系统上,我们知道一个可能的原因是远程服务器上的目录权限,另一个原因是端口 873 未打开。
有没有明确的方法来确定错误的原因?是否可以先检查端口,如果遇到错误则返回错误,然后开始传输?
我认为这rsync
会有更详细的错误代码,特别是在实际连接时。
答案1
您可以通过请求rsync
远程系统的目录列表来区分。
服务器在两秒内正确响应
$ rsync --contimeout=2 remoteserver:: SHARE1 We store stuff here SHARE2 we store other stuff here $ echo $? 0
服务器未运行
rsync
守护进程$ rsync --contimeout=2 remoteserver:: rsync: failed to connect to remoteserver (10.10.10.10): Connection refused (111) rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2] $ echo $? 10
服务器两秒内没有响应
$ rsync --contimeout=2 remoteserver:: rsync error: timeout waiting for daemon connection (code 35) at socket.c(281) [Receiver=3.1.2] $ echo $? 35