Syntax
rsync [OPTION] <src>[/] <dest>
rsync automatically creates destination directories
- Adding a slash (/) after
<src> transfers only contents of <src>.
- Use
--delete to remove extraneous files
Common Options
| flag |
description |
-a |
archive mode (recursive + preserve symlink, permissions, ownerships, timestamps) |
-e |
remote shell |
-h |
human-readable format |
-n |
dry run |
-P |
show progress |
-u |
update (skip files newer on <dest>) |
-v |
verbose |
-z |
compress file data (during transfer) |
Examples
Local Transfer
rsync -avhzP <folder1> <folder2>
SSH Transfer
rsync -avhzP <username>@<host>:<path> <folder2>
<path> must be absolute (can use ~/... though)
- use
-e to specify ssh options (e.g. -e 'ssh -p 31415')
Other Options
- Exclusion
--exclude <file or folder or pattern> (use multiple --exclude flags or --exclude {"<pattern1>", "<pattern2>"})
--exclude-from <txt_file> (again can use list syntax)
- Size Limits
--max-size or --min-size: specify size in mb or gb (e.g. 500m)
- Bandwidth Limits
--bwlimit: specify in kB or mB/s (e.g. 100K)