npm install -g mrsync
Backup your current directory
mrsync /path/to/destination
Or specify a source directory
mrsync -s /path/to/source /path/to/destination
You can also specify exclusions
# Comma separated list of items to exclude (not full paths)
mrsync -s /path/to/source -e exclude_one,exclude_two /path/to/destination
mrsync
doesn't prompt for passwords, so if you want to backup to a remote machine, you'll need to have passwordless access to the machine using ssh keys.
# Create your ssh key pair
ssh-keygen
# Add your id to the server
ssh-copy-id -i /path/to/public_key user@server_address
Feel free to submit PRs. I really want to expose as much rsync control as possible. I just started with the options I needed for work.