Less CPU hog Vagrant rsync(-auto) for large file hierarchies (macOS, GNU/Linux, Windows)
MIT License
Note: This project is unmaintained, feel free to fork/PR.
This Vagrant plugin optimizes to the following Vagrant commands to not be that CPU hog with large file hierachies:
vagrant rsync
vagrant rsync-auto
All the rsync synced folder settings are supported. They also have the same default values for backwards compatibility.
vagrant plugin install vagrant-syncer
vagrant plugin update vagrant-syncer
See the example Vagrantfile
for additional plugin specific config.syncer
settings and their default
values.
config.syncer.ssh_args
. Use this for e.g. disabling SSH compression tovagrant rsync-auto
to start watching changes after vagrant up,config.syncer.run_on_startup
set to true
group
is not explicitly:rsync_pre
is removed, as this unnecessarily runsFork this repository, clone it and install Ruby 2.2.3, using e.g. rbenv:
cd vagrant-syncer
rbenv install $(cat .ruby-version)
gem install bundler -v1.12.5
bundle install
Then use it with:
bundle exec vagrant rsync-auto
Or outside the bundle:
./build_and_install.sh
vagrant rsync-auto
Also, I kindly take pull requests.
vagrant-syncer was originally put together by Anssi Syrjäsalo.
Thanks to Steven Merrill's (@stevenmerrill) vagrant-gatling-rsync for the listener implementations and the original idea to tap into rb-fsevent (OS X) and rb-inotify (GNU/Linux) for non-CPU hog watching of hierarchies with 10,000-100,000 files.
And to Hashicorp for Vagrant, even though its future will likely be overshadowed by Otto.