How to RSYNC

Published on: March 30, 2014
Difficulty: Medium

The RSYNC command is an easy tool used to copy files from one location to another; locally or externally. The benefit of using RSYNC over the common copy command is that RSYNC can cut down the time necessary for moving files by predetermining what is already present on the destination and only copying over what isn’t already there.

There are a number of different methods to copying files over, however each method uses the same command.

Local

rsync -Pav /path/to/source /path/to/destination

External

Push Method:

rsync -Pav --rsh="ssh -p [SSH_Port]" /path/to/source USER@DESTINATION:/path/to/destination

Pull Method:


rsync -Pav --rsh="ssh -p [SSH_Port]" USER@SOURCE:/path/to/source /path/to/destination

Key:

  • USER – Username of remote account.
  • SOURCE – Source server’s IP address or hostname.
  • DESTINATION – Destination server’s IP address or hostname.
  • -Pav -P Shows progress of RSYNC. -a Archive mode (equivalent to -rlptgoD) and -v Verbose (give you information about what files are being transferred and a brief summary at the end).
    • -rlptgoD = r (recursive), l (links, copy symlinks as symlinks), p (perms, preserve permissions), t (times, preserve times), g (group, preserve group), o (owner, preserve owner (root only)), D (devices, preserve devices (root only))
  • –rsh – Specify the remote shell.
    • -p [SSH_Port] – Specify SSH port number. Replace [SSH_Port] with the actual port number.


Back To Top