Windows上的Rsync - dup()输入/输出/错误失败

use*_*520 11 rsync cygwin vagrant vagrantfile vagrant-windows

我正在使用Vagrant管理虚拟机以实现开发目的.我的操作系统是Windows 10,我使用的是Vagrant 1.9.1.由于文件夹同步的默认驱动程序很慢,我想实现Rsync.

为此,我使用了Cygwin并安装了Rsyn和OpenSSL.

当我在Cygwin控制台内运行vagrant我遇到了这个错误:

There was an error when attempting to rsync a synced folder.
Please inspect the error message below for more info.

Host path: /cygdrive/c/Users/User/my-project/my-project/
Guest path: /var/www
Command: "rsync" "--verbose" "--archive" "-z" "--chmod=ugo=rwX" "--no-perms" "--no-owner" "--no-group" "--rsync-path" "sudo rsync" "-e" "ssh -p 2222 -o LogLevel=FATAL   -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i 'C:/Users/User/my-project/my-project/.vagrant/machines/gbb-my-project-sys-web-dev-1/virtualbox/private_key'" "--exclude" ".vagrant/" "--exclude" ".git/" "/cygdrive/c/Users/User/my-project/my-project/" "vagrant@127.0.0.1:/var/www"
Error: dup() in/out/err failed
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
Run Code Online (Sandbox Code Playgroud)

我用来运行流浪汉的命令

export VAGRANT_DETECTED_OS=cygwin
VAGRANT_HOME=/cygdrive/c/Users/User
export VAGRANT_HOME
vagrant up
Run Code Online (Sandbox Code Playgroud)

流浪汉配置:

synced_folder:
            vflsf_udtdv3aeexfs:
                owner: www-data
                group: www-data
                source: ./
                target: /var/www
                sync_type: rsync
                smb:
                    smb_host: ''
                    smb_username: ''
                    smb_password: ''
                    mount_options:
                        dir_mode: '0775'
                        file_mode: '0664'
                rsync:
                    args:
                        - '--verbose'
                        - '--archive'
                        - '-z'
                    exclude:
                        - .vagrant/
                        - .git/
                    auto: 'true'
Run Code Online (Sandbox Code Playgroud)

Jif*_*ang 5

你是ssh通过cygwin安装的吗?如果您ssh从其他来源(例如 Windows 的 git)获得,它可能与cygwin不兼容。rsync