Rsync

About RSync

Features

  1. Support for copying links, devices, owners, groups, and permissions

  2. exclude and exclude-from options similar to GNU tar

  3. a CVS exclude mode for ignoring the same files that CVS would ignore

  4. can use any transparent remote shell, including ssh or rsh

  5. does not require super-user privileges

  6. Pipelining of file transfers to minimize latency costs

  7. Support for anonymous or authenticated rsync daemons (ideal for mirroring)

Usage

rsync -t *.c foo:src/

Transfer all the files matching the pattern *.c from the current directory to the directory src on the machine foo. If any of the files already exist on the remote system then the rsync remote-update protocol is used to update the file by sending only the differences.

rsync -avz foo:src/bar /data/tmp

This would recursively transfer all files from the directory src/bar on the machine foo into the /data/tmp/bar directory on the local machine. These files are transferred in lqarchiverq mode, which ensures that symbolic links, devices, attributes, permissions, ownerships, etc. are preserved in the transfer.

Compression will be used to reduce the size of data portions of the transfer.

rsync -avz foo:src/bar/ /data/tmp

A trailing slash on the source changes this behavior to avoid creating an additional directory level at the destination. You can think of a trailing / on a source as meaning lqcopy the contents of this directoryrq as opposed to lqcopy the directory by namerq, but in both cases the attributes of the containing directory are transferred to the containing directory on the destination.

Reference: https://linux.die.net/man/1/rsync

Last updated

Was this helpful?