Recent Changes - Search:




  • Using RSYNC
  • This command will copy the directory var from the server to the server where you have logged in.

rsync -ae ssh /backup/ -rv

  -a = archive mode.  This will preserve permissions, timestamps, etc.
  -e = specify which remote shell to use.

rsync -zavre ssh --progress /home/backups/

    -z = adds zip compression.
    -v = verbose
    �progress =This show progress along with useful data.
    -a = archive mode.  This will preserve permissions, timestamps, etc.
    -e = specify which remote shell to use.

Useful command-line switches

    -v, --verbose increase verbosity
    -q, --quiet decrease verbosity
    -c, --checksum always checksum
    -a, --archive archive mode. It is a quick way of saying you want recursion and want to preserve everything.
    -r, --recursive recurse into directories
    -R, --relative use relative path names
    -u, --update update only (don't overwrite newer files)
    -t, --times preserve times
    -n, --dry-run show what would have been transferred
    -W, --whole-file copy whole files, no incremental checks
    -I, --ignore-times Normally rsync will skip any files that are already the same length and have the same  time-stamp. This option turns off this behavior.
    --existing only update files that already exist
    --delete delete files that don't exist on the sending side
    --delete-after delete after transferring, not before
    --force force deletion of directories even if not empty
    -c, --checksum always checksum
    --size-only only use file size when determining if a file should be transferred
    --progress show progress during transfer
    -z, --compress compress file data
    --exclude=PATTERN exclude files matching PATTERN
    --daemon run as a rsync daemon
    --password-file=FILE get password from FILE

Copy File and Dir under /home/sp/backup/05-29-07/custom/usr/local/ to /usr/local/

  rsync -arpogtv --progress /home/sp/backup/05-29-07/custom/usr/local/ /usr/local/ -rv

  rsync -vrplogDtH --progress /home/sp/backup/05-29-07/custom/var/www/ /var/www/

OPTIONS SUMMARY Here is a short summary of the options available in rsync.Please refer to the detailed description below for a

       complete description.

        -v, --verbose               increase verbosity
        -q, --quiet                 suppress non-error messages
            --no-motd               suppress daemon-mode MOTD (see caveat)
        -c, --checksum              skip based on checksum, not mod-time & size
        -a, --archive               archive mode; same as -rlptgoD (no -H)
            --no-OPTION             turn off an implied OPTION (e.g. --no-D)
        -r, --recursive             recurse into directories
        -R, --relative              use relative path names
            --no-implied-dirs       don�t send implied dirs with --relative
        -b, --backup                make backups (see --suffix & --backup-dir)
            --backup-dir=DIR        make backups into hierarchy based in DIR
            --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
        -u, --update                skip files that are newer on the receiver
            --inplace               update destination files in-place
            --append                append data onto shorter files
        -d, --dirs                  transfer directories without recursing
        -l, --links                 copy symlinks as symlinks
        -L, --copy-links            transform symlink into referent file/dir
            --copy-unsafe-links     only "unsafe" symlinks are transformed
            --safe-links            ignore symlinks that point outside the tree
        -k, --copy-dirlinks         transform symlink to dir into referent dir
        -K, --keep-dirlinks         treat symlinked dir on receiver as dir
        -H, --hard-links            preserve hard links
        -p, --perms                 preserve permissions
        -E, --executability         preserve executability
            --chmod=CHMOD           affect file and/or directory permissions
        -o, --owner                 preserve owner (super-user only)
        -g, --group                 preserve group
            --devices               preserve device files (super-user only)
            --specials              preserve special files
        -D                          same as --devices --specials
        -t, --times                 preserve times
        -O, --omit-dir-times        omit directories when preserving times
            --super                 receiver attempts super-user activities
        -S, --sparse                handle sparse files efficiently
        -n, --dry-run               show what would have been transferred
        -W, --whole-file            copy files whole (without rsync algorithm)
        -x, --one-file-system       don�t cross filesystem boundaries
        -B, --block-size=SIZE       force a fixed checksum block-size
        -e, --rsh=COMMAND           specify the remote shell to use
            --rsync-path=PROGRAM    specify the rsync to run on remote machine
            --existing              skip creating new files on receiver
            --ignore-existing       skip updating files that exist on receiver
            --remove-source-files   sender removes synchronized files (non-dir)
            --del                   an alias for --delete-during
            --delete                delete extraneous files from dest dirs
            --delete-before         receiver deletes before transfer (default)
            --delete-during         receiver deletes during xfer, not before
            --delete-after          receiver deletes after transfer, not before
            --delete-excluded       also delete excluded files from dest dirs
            --ignore-errors         delete even if there are I/O errors
            --force                 force deletion of dirs even if not empty
            --max-delete=NUM        don�t delete more than NUM files
            --max-size=SIZE         don�t transfer any file larger than SIZE
            --min-size=SIZE         don�t transfer any file smaller than SIZE
            --partial               keep partially transferred files
            --partial-dir=DIR       put a partially transferred file into DIR
            --delay-updates         put all updated files into place at end
        -m, --prune-empty-dirs      prune empty directory chains from file-list
            --numeric-ids           don�t map uid/gid values by user/group name
            --timeout=TIME          set I/O timeout in seconds
        -I, --ignore-times          don�t skip files that match size and time
            --size-only             skip files that match in size
            --modify-window=NUM     compare mod-times with reduced accuracy
        -T, --temp-dir=DIR          create temporary files in directory DIR
        -y, --fuzzy                 find similar file for basis if no dest file
            --compare-dest=DIR      also compare received files relative to DIR
            --copy-dest=DIR         ... and include copies of unchanged files
            --link-dest=DIR         hardlink to files in DIR when unchanged
        -z, --compress              compress file data during the transfer
            --compress-level=NUM    explicitly set compression level
        -C, --cvs-exclude           auto-ignore files in the same way CVS does
        -f, --filter=RULE           add a file-filtering RULE
        -F                          same as --filter=�dir-merge /.rsync-filter�
                                    repeated: --filter=�- .rsync-filter�
            --exclude=PATTERN       exclude files matching PATTERN
            --exclude-from=FILE     read exclude patterns from FILE
            --include=PATTERN       don�t exclude files matching PATTERN
            --include-from=FILE     read include patterns from FILE
            --files-from=FILE       read list of source-file names from FILE
        -0, --from0                 all *from/filter files are delimited by 0s
            --address=ADDRESS       bind address for outgoing socket to daemon
            --port=PORT             specify double-colon alternate port number
            --sockopts=OPTIONS      specify custom TCP options
            --blocking-io           use blocking I/O for the remote shell
            --stats                 give some file-transfer stats
        -8, --8-bit-output          leave high-bit chars unescaped in output
        -h, --human-readable        output numbers in a human-readable format
            --progress              show progress during transfer
        -P                          same as --partial --progress
        -i, --itemize-changes       output a change-summary for all updates
            --out-format=FORMAT     output updates using the specified FORMAT
            --log-file=FILE         log what we�re doing to the specified FILE
            --log-file-format=FMT   log updates using the specified FMT
            --password-file=FILE    read password from FILE
            --list-only             list the files instead of copying them
            --bwlimit=KBPS          limit I/O bandwidth; KBytes per second
            --write-batch=FILE      write a batched update to FILE
            --only-write-batch=FILE like --write-batch but w/o updating dest
            --read-batch=FILE       read a batched update from FILE
            --protocol=NUM          force an older protocol version to be used
            --checksum-seed=NUM     set block/file checksum seed (advanced)
        -4, --ipv4                  prefer IPv4
        -6, --ipv6                  prefer IPv6
            --version               print version number
       (-h) --help                  show this help (see below for -h comment)

Back up entire server:

rsync -avz --exclude=/proc -e ssh / [email protected]:backup-server

The following script can be run every night using Linux�s built in cron facility. To start the script at

11pm each night, use the command "crontab -e", and then type the following:

     0 23 * * * /path/to/your/script 

Rsync User Home Dir:

rsync -avrplogDtH /home/USERNAME root@IP-ADDRESS:/home/

Delete files on the backup server after sync is complete.

  rsync --delete-after -zave ssh --progress  

--delete-after will delete file that are not there on the source server after sync

When used with -n, --dry-run ------ show what would have been transferred.

  rsync --delete-after -zave ssh --progress  
  /home/backups/ -n

Will show you what it will do if the above command is run.

Edit - History - Print - Recent Changes - Search
Page last modified on August 03, 2007, at 06:07 PM