我使用cwRsync将一些文件从Windows同步到Ubuntu.这个过程曾经在Vista上运行良好,但自从我升级到Windows7后,我不断遇到权限问题.
一些背景...我确实用过在Vista上获得相同的权限问题,但是通过使用CYGWIN=nontsec环境变量解决了这个问题.
预备问题
rsync: failed to modify permissions on xxx: Permission denied (13)
Run Code Online (Sandbox Code Playgroud)
由于Windows和UNIX文件权限不同,因此使用Windows权限同步文件没有意义.rsync的作用是将UNIX端的权限设置为0(d---------).为了防止这种情况,cygwin有一个nontsec变量,指示它忽略Windows文件的权限.
问题是,在Windows7上,nontsec似乎没有任何影响.
我试图在Windows 7中使用Git Bash将本地路径同步到另一个驱动器.我下载了cwRsync并将文件复制到我的Git bash bin目录.我可以运行rsync但是以下命令给我带来了问题
rsync -av/c/00-dev/05-batch/f/RSYNC /源和目标不能都是远程的.rsync错误:main.c上的语法或用法错误(代码1)(1135)[receiver = 3.0.6]
两条路径都是正确的,但不会同步.
我想使用 rsync 将 git 存储库从 Linux 机器镜像到多个 Windows 服务器。到目前为止我在网上看到的是需要使用 samba 挂载 Windows 端的解决方案。理想情况下,我想避免这种情况,因为它需要管理多个安装,更不用说安全问题了。我已经验证我至少可以通过 ssh 连接到我的测试服务器。我在 Windows 服务器上安装了 cwRsync。我尝试以下命令,但 rsync 似乎不喜欢 rsync 可执行文件路径中的空格。
rsync -rlH --rsync-path="c:/Program\ Files/cwRsync/bin/rsync.exe" . Administrator@cool03-stage:d:/rsync_test/.
'c:/Program\' is not recognized as an internal or external command,
operable program or batch file.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [sender=2.6.9]
Run Code Online (Sandbox Code Playgroud) 我尝试将cmd批处理文件迁移到powershell,但powershell不接受SET HOME命令.剧本
SET HOME=c:\home\user
$destination=user@server:/cygdrive/c/Build
$source=/cygdrive/c/Build
rsync -av -e "./ssh" $source $destination
Run Code Online (Sandbox Code Playgroud)
./ssh不能访问HOME,但是同样的脚本运行为cmd-Bash,任何建议设置一个像cmd-bash SET HOME一样的Home Path?
关心雷内
我试图从一个mac环境转移到一个Windows环境并需要rsync.
找到cwrsync @ http://www.rsync.net/resources/howto/windows_rsync.html
我已经安装了cwrsync程序,我可以在cmd上调用rsync,但是当在包含sync.exe的目录中时
在命令提示符下,如果我在不在相关目录中时调用rsync,它会呻吟并说出:
"rsync"未被识别为内部或外部命令,可操作程序或批处理文件.
有没有办法将rsync.exe添加到全局列表中,以便在其直接父目录之外识别rsync?
谢谢,约翰

cwrsync ×5
rsync ×4
windows ×2
cygwin ×1
git-bash ×1
permissions ×1
powershell ×1
windows-7 ×1