$ rsync -avE --progress /source/ /destination
- -v --verbose
- -a --archive (preserve all attributes)
- -n --dry-run
- -E, --executability (preserve executability)
- --delete This tells rsync to delete extraneous files from the receiving side (files that aren't on the sending side), but only for the directories that are being synchronized.
trailing slash after source/ means copy contents inside names folder. without trailing slash it copies the folder itself
use flag --dry-run before executing
exclude directories using curly brackets: --exclude={.ccache,build}
$ rsync -avr --files-from=/path/to/list.txt / /path/to/destination/
if full paths are given in list, use /
for the source directory. use -r
recursive option to seek for sub-directories.