我遇到了一个奇怪的问题,但似乎找不到原因和解决方案。
我在 win11/cygwin 上(sshpass 1.06,rsync 3.2.7)
我打电话:
/usr/bin/sshpass -p $sshpasswd /usr/bin/rsync --dry-run -azhvve ssh --mkpath --log-file=$sourcedir/$folder.log.txt --include-from=$sshsourcesfile --exclude=$sourcedir/* $sourcedir $sshtarget:$backupbasepath/$folder
交叉测试变量如下所示,我认为这是正确的:
/usr/bin/sshpass -p xxxxxxxx /usr/bin/rsync --dry-run -azhvve ssh --mkpath --log-file=/F/2024_03_11-00_19_46_backup.log.txt --include-from=/F/2024_03_11-00_19_46_backup.sources.txt --exclude=/F/* /F [email protected]:/RAID/Software/MaintStick/2024_03_11-00_19_46_backup/
上面的调用最终出现错误:
2024/03/11 00:19:47 [560] rsync: connection unexpectedly closed (0 bytes received so far) [sender]
2024/03/11 00:19:47 [560] sent 0 bytes received 0 bytes total size 0
2024/03/11 00:19:47 [560] rsync error: error in rsync protocol data stream (code 12) at io.c(231) [sender=3.2.7]
现在,如果我向命令添加重定向,它就可以正常工作!我尝试了以下方法:
>/dev/null
>test.txt
| pv -lpes 2000
我的问题是:为什么调用失败并且最后没有重定向?