Important Bits

rsync files from vagrant box to AWS server

April 16, 2015

I just transferred a directory full of audio files that I didn’t want to check into a project’s Git repository with this command:

rsync -avz -e "ssh -i /home/vagrant/key.pem" ./source-directory


  • key.pem is the same file I usually SSH into the host AWS server with
  • copy the key file from the Vagrant box’s host machine (my dev machine) into a non-shared directory in the Vagrant machine (/home/vagrant), and set the permissions on it to 0600, otherwise rsync complains that the key has the wrong permissions and the command does not work.
  • a flag means archive mode which preserves more properties of files and is recursive
  • v flag means verbose
  • z flag enables compression
  • e flag specifies the remote shell user to use (the usual user I SSH as). This is the most important flag to understand for my use case

more rsync info and more rsync examples

Adam Sullovey

Written by Adam Sullovey, powered by Gatsby.
Find me on codepen, github, or at Toronto meetups.

tags: bash, linux, rsync