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[/code]


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.