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))
- -rlptgoD = r (recursive), l (links, copy symlinks as symlinks), p (perms, preserve permissions),
- --rsh - Specify the remote shell.
- -p [SSH_Port] - Specify SSH port number. Replace [SSH_Port] with the actual port number.