Rsync

From Psygen Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

rsync copies files and directories. It is often used for backups, or duplicating directory contents on a remote server. rsync can copy only changed files, and can use SSH to securely copy the file.

Common Options

-a - Combo flag, same as -rlptgoD (recursive; copies symlinks; preserve: permissions, modification times, group, and owner; device/special).

-v - verbose

-n - do a "dry run". Together with -v, -n shows what rsync will copy, but doesn't actually copy anything.

-z - Compress the contents for transmission.

-P - Show a progress bar, and resume interrupted transfers.

--delete - By default, rsync doesn't delete anything. To truly sync a directory, add the --delete flag, and rsync will delete files to keep the source and destination directories the same. (Note: Use the -n flag with this command first, to confirm that rsync will delete only what you want it to delete.)

dir vs dir/:
dir - Copy the directory
dir/ - Copy the contents of the directory


Sync Directories on the same computer

rsync -a dir1/ dir2 - Copies the contents of dir1 into dir2


Copy files to a remote system

Specify the directory you want to copy, then the destination.
rsync -a /dir1 username@remote_host:destination_directory

Example:
rsync -a /docs bob@example.com:/home/bob/public_html- Copies the entire directory "docs" into directory /home/bob/public_html on the server.

You can reverse this to copy from the remote system to the local computer.
Example:
rsync -a bob@example.com:/home/bob/public_html/docs/ /home/bob/web_files/docs - Copies the contents of /home/bob/public_html/docs/ into the local directory /home/bob/web_files/docs


References

  1. rsync man page
  2. Digital Ocean How to Use rsync