我rsync
在 Windows (Cygwin) 上使用,我将文件从共享文件夹(从另一个 Windows 实例)移动到 NFS 存储。我已将共享文件夹映射到一个驱动器并将 NFS 文件夹安装到另一个驱动器。
我以rsync
这种方式启动命令:
C:\cygwin64\bin\rsync.exe -vrH --perms --partial --delete --stats --log-file=/home/Administrator/rsynclogs/backup.log /cygdrive/z/ /cygdrive/w/
运行 30 分钟后,如果因错误而失败,则传输了大约 17,000 个文件:
rsync: write failed on "/cygdrive/w/domainName/Uploads/index_635244981053162421.html": Permission denied (13)
我看不到权限被拒绝错误的任何原因。例如,如果我手动复制文件,它会成功复制。
我知道这是rsync
协议的一个缺点。rsync
协议无法事先确定它是否在目标上具有写权限。相反,它只是在之后发送并检查成功或失败。
我无权ssh
访问 NFS 服务器——它是一个存储实例。源 Windows 客户端具有 Cygwin,但无权访问 NFS 存储。
我们正在从 2008 年的旧服务器迁移到新服务器。其中一项更改是将所有存储移动到共享的 nfs 存储。我知道这个配置并不完美,但它是暂时的。我需要它正常工作一个月左右。不幸的是,NFS 服务无法安装在 2008 服务器上,否则就不需要 rsync。
即使出现错误,如何让我的副本继续运行?
我想使用这些选项:
--partial-dir=DIR
--delay-updates
--inplace
--ignore-errors
但看起来它并不能真正解决我的问题。有什么建议么?