icon sc-linkedinlogo of codepen-iconlogo of github-iconyoutube play button

notes by Adam Sullovey

web & mobile application developer
practicing in Toronto, ON

rsync files from vagrant box to AWS server

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 user@host.ca:/home/user/destination-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