General format
rsync options /path/to/source/folder /path/to/backup/folder
Option | Used for |
---|---|
-a | preserve user permissions, modified times |
-r | to copy recursively |
-z | transfers data in compressed format |
-vhP | verbose, human-readable, show progress |
-e ssh | transfer over ssh |
-W | whole file transfer (instead of diff based) |
Option | Used for |
---|---|
–dry-run, -n | does not modify filesystem |
–delete | removes files (in remote) that does not exist at source |
–include="" –exclude="" | to specify which files to include/exclude |
–exclude-from=file | exclude glob patterns specified in a file |
Full system backup (For more info)
sudo rsync -aAXv \
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*",\
"/run/*","/mnt/*","/media/*","/lost+found"} \
/ /path/to/backup/folder
Backup remote folder using ssh
rsync -ave ssh /path/to/source/folder user@remote:~/backup/folder
Incremental backup
rsync -arvhP --delete /path/to/source/folder /path/to/backup/folder