Diff for "rsync"


Differences between revisions 19 and 22 (spanning 3 versions)
Revision 19 as of 2009-05-21 05:15:20
Size: 4070
Editor: docsis-cbm-14-42
Comment: changed "Rsync updates the copies the files that have changed...." to "Rsync updates the copies of files that have changed..."
Revision 22 as of 2009-06-21 19:56:45
Size: 4369
Editor: cpc3-seve18-2-0-cust708
Comment: List-type layout of -a command in given example, & had missed out the expanded description of the "-t" in "-rlptgoD"
Deletions are marked like this. Additions are marked like this.
Line 26: Line 26:
{{{-z}}} compresses the data
{{{--delete}}} deletes files that don't exist on the system being backed up. Maybe you want this, maybe not.
{{{-a}}} preserves the date and times of the files (same as {{{-t}}}), descends recursively into all directories (same as {{{-r}}}), copies symlinks as symlinks (same as {{{-l}}}), preserves file permissions (same as {{{-p}}}), preserves groups (same as {{{-g}}}), preserves file ownership (same as {{{-o}}}), and preserves devices as devices (same as {{{-D}}}).
{{{-vv}}} increases the verbosity of the reporting process
In the above example:
 *{{{--delete}}} deletes files that don't exist on the system being backed up.(Optional)
 *{{{-a}}} preserves the date and times, and permissions of the files (same as {{{-rlptgoD}}}).
 . With this option rsync will:
  . Descend recursively into all directories ({{{-r}}}),
  . copy symlinks as symlinks ({{{-l}}}),
  . preserve file permissions ({{{-p}}}),
  . preserve modification times ({{{-t}}}),
  . preserve groups ({{{-g}}}),
  . preserve file ownership ({{{-o}}}), and
  . preserve devices as devices ({{{-D}}}).
 *{{{-z}}} compresses the data
 *{{{-vv}}} increases the verbosity of the reporting process

A complete synopsis of all the options with the rsync command can be found in the man pages under "Options Summary". The man page for rsync can also be found on [[http://linux.die.net/man/1/rsync|linux.die.net]]

Introduction

rsync is a program that copies files from one location to another. With it you can make backups of your files, and synchronize data on different locations and computers. It is commonly used by unix users to keep a safe backup of their files and is often recommended as the simplest solution for backups and safety copys. Other software for backup is listed on BackupYourSystem.

Rsync minimizes data transfer using delta encoding when appropriate. An important feature of rsync not found in most similar programs/protocols is that the mirroring takes place with only one transmission in each direction.

This document is a rsync quick howto.

Installation

rsync is usually installed on ubuntu. In the rare case when it is not on your system, do the following step to install rsync:

$ sudo apt-get install rsync xinetd

Using RSYNC with SSH for a simple backup

(This example is also given on BackupYourSystem)

Rsync updates the copies of files that have changed, and even then only transfers the parts of those files that have changed. That is useful for saving bandwidth when backing up over the network. Rsync is especially good for backing up home directories. For safety, transfer between two machines is done via SSH. Also, SSH is installed on most unix machines, so this method will be easier for you to use.

The command for transferring to a remote machine is:

sudo rsync --delete -azvv -e ssh /home remoteuser@remotehost.remotedomain:./backupdirectory

In the above example:

  • --delete deletes files that don't exist on the system being backed up.(Optional)

  • -a preserves the date and times, and permissions of the files (same as -rlptgoD).

  • With this option rsync will:
    • Descend recursively into all directories (-r),

    • copy symlinks as symlinks (-l),

    • preserve file permissions (-p),

    • preserve modification times (-t),

    • preserve groups (-g),

    • preserve file ownership (-o), and

    • preserve devices as devices (-D).

  • -z compresses the data

  • -vv increases the verbosity of the reporting process

A complete synopsis of all the options with the rsync command can be found in the man pages under "Options Summary". The man page for rsync can also be found on linux.die.net

rsync has several graphical frontends: grsync, Backup Monitor, QSync, Zynk, rsyncbackup, TKsync

Configuration of the RSYNC daemon

You need the rsync daemon when you want to synchronize two computers and the simple way using SSH doesn't work for you. Using the daemon is usually more complicated than just using rsync with an ssh connection.

1. Edit /etc/default/rsync to start rsync as daemon using xinetd.

$ sudo vim /etc/default/rsync
  RSYNC_ENABLE=inetd

2. Create /etc/xinetd.d/rsync to launch rsync via xinetd.

$ sudo vim /etc/xinetd.d/rsync
  service rsync
    {
        disable         = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
    }

3. Create /etc/rsyncd.conf configuration for rsync in daemon mode.

$ sudo vim /etc/rsyncd.conf
  max connections = 2
  log file = /var/log/rsync.log
  timeout = 300

  [share]
  comment = Public Share
  path = /home/share
  read only = no
  list = yes
  uid = nobody
  gid = nogroup
  auth users = user
  secrets file = /etc/rsyncd.secrets

4. Create /etc/rsyncd.secrets for user's password.

$ sudo vim /etc/rsyncd.secrets 
  user:password

4.a

$ sudo chmod 600 /etc/rsyncd.secrets

5. Start/Restart xinetd

$ sudo /etc/init.d/xinetd restart

Testing

Run the following command to check if everything is ok.

$ sudo rsync user@192.168.0.1::share
  Password: 
  drwxr-xr-x        4096 2006/12/13 09:41:59 .
  drwxr-xr-x        4096 2006/11/23 18:00:03 folders


rsync (last edited 2012-09-05 19:05:54 by mail)