Difference between revisions of "Rsync"

From ArchWiki
Jump to: navigation, search
m (As a backup utility: update ln)
(Automated backup with SSH)
Line 40: Line 40:
rsync -a -r --delete -e ssh /folder/to/backup remoteuser@remotehost:/location/to/backup &> /dev/null}}
rsync -a --delete -e ssh /folder/to/backup remoteuser@remotehost:/location/to/backup &> /dev/null}}
; {{Codeline|-e ssh}} : tells rsync to use SSH
; {{Codeline|-e ssh}} : tells rsync to use SSH
; {{Codeline|remoteuser}} : is the user on the host {{Codeline|remotehost}}
; {{Codeline|remoteuser}} : is the user on the host {{Codeline|remotehost}}
; {{Codeline|-a}} : group all this options {{Codeline|-rlptgoD}} recursive, links, perms, group, owner, devices

Revision as of 07:23, 16 April 2010

rsync is an open source utility that provides fast incremental file transfer.


Install the Template:Package Official package using pacman:

# pacman -S rsync


For more examples, search the Community Contributions and General Programming forums.

As a cp alternative

rsync can readily be used as an advanced cp alternative, specially useful for copying larger files:

$ rsync -P src dest

The Template:Codeline option is the same as Template:Codeline, which keeps partially transferred files and shows a progress bar during transfer.

As a backup utility

The rsync protocol can easily be used for backups, only transferring files that have changed since the last backup. This section describes a very simple scheduled backup script using rsync, typically used for copying to removable media. For a more thorough example, see Full System Backup with rsync.

Automated backup

For the sake of this example, the script is created in the Template:Filename directory, and will be run on a daily basis if a cron daemon is installed and properly configured. Configuring and using cron is outside the scope of this article.

First, create a script containing the appropriate command options: Template:File

indicates that files should be archived, meaning that all of their attributes are preserved
means files deleted on the source are to be deleted on the backup aswell

Here, Template:Filename should to be changed to what needs to be backed-up (Template:Filename, for example) and Template:Filename is where the backup should be saved (Template:Filename, for instance).

Finally, the script must be executable:

# chmod +x /etc/cron.daily/rsync.backup

Automated backup with SSH

If backing-up to a remote host using SSH, use this script instead: Template:File

tells rsync to use SSH
is the user on the host Template:Codeline
group all this options Template:Codeline recursive, links, perms, group, owner, devices