Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bidirectional Vagrant Rsync

I have configured Vagrant to use Rsync shared folders instead of the (incredibly SLOW) vboxsf filesystem provided by VirtualBox by default:

Vagrant.configure("2") do |config|
    config.vm.synced_folder ".", "/vagrant", type: "rsync",
        rsync__args: ["--verbose", "--archive", "-z"]
end

Obviously, there's more configuration, but I found these instructions here and they generally work in synchronizing from the host to the guest.

However, I need the guest to be able to sync back to the host, as some of my build tools are only installed on the guest. How can I sync bidirectionally in the shared folder?

like image 928
Naftuli Kay Avatar asked Nov 11 '14 19:11

Naftuli Kay


3 Answers

Consider using a vagrant plugin https://github.com/smerrill/vagrant-rsync-back#vagrant-rsync-back

Install:

vagrant plugin install vagrant-rsync-back

Run:

vagrant rsync-back

It'll rsync the mapped folders from guest to host

like image 113
Let'sTalk Avatar answered Oct 15 '22 11:10

Let'sTalk


Unfortunately no, quote from documentation:

The rsync synced folder does a one-time one-way sync from the machine running to the machine being started by Vagrant.

so better for you to use NFS (or SMB if using a Windows host)

In some cases the default shared folder implementations (such as VirtualBox shared folders) have high performance penalties. If you're seeing less than ideal performance with synced folders,

like image 6
vvchik Avatar answered Oct 15 '22 11:10

vvchik


Consider using this vagrant plugin http://github.com/dmatora/vagrant-unison It does realtime bidirectional folder sync

like image 3
dmitry.matora Avatar answered Oct 15 '22 09:10

dmitry.matora