RSync

Synced folder type: rsync

Vagrant can use rsync as a mechanism to sync a folder to the guest machine. This synced folder type is useful primarily in situations where other synced folder mechanisms are not available, such as when NFS or VirtualBox shared folders are not available in the guest machine.

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

The rsync and rsync-auto commands can be used to force a resync and to automatically resync when changes occur in the filesystem. Without running these commands, Vagrant only syncs the folders on vagrant up or vagrant reload.

Prerequisites

To use the rsync synced folder type, the machine running Vagrant must have rsync (or rsync.exe) on the path. This executable is expected to behave like the standard rsync tool.

On Windows, rsync installed with Cygwin or MinGW will be detected by Vagrant and works well.

The destination machine must also have rsync installed, but Vagrant can automatically install rsync into many operating systems. If Vagrant is unable to automatically install rsync for your operating system, it will tell you.

The destination folder will be created as the user initiating the connection, this is vagrant by default. This user requires the appropriate permissions on the destination folder.

Options

The rsync synced folder type accepts the following options:

Example

The following is an example of using RSync to sync a folder:

Vagrant.configure("2") do |config|
  config.vm.synced_folder ".", "/vagrant", type: "rsync",
    rsync__exclude: ".git/"
end

Rsync to a restricted folder

If required to copy to a destination where vagrant user does not have permissions, use "--rsync-path='sudo rsync'" to run rsync with sudo on the guest

Vagrant.configure("2") do |config|
  config.vm.synced_folder "bin", "/usr/local/bin", type: "rsync",
    rsync__exclude: ".git/",
    rsync__args: ["--verbose", "--rsync-path='sudo rsync'", "--archive", "--delete", "-z"]
end

© 2010–2018 Mitchell Hashimoto
Licensed under the MPL 2.0 License.
https://www.vagrantup.com/docs/synced-folders/rsync.html