rsync基本原理

rsync命令精华总结

Usage: rsync [OPTION]... SRC [SRC]... DEST
  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  or   rsync [OPTION]... [USER@]HOST:SRC [DEST]

    -e, --rsh=COMMAND       specify the remote shell to use
        --rsync-path=PATH       specify path to rsync on the remote machine
    -a, --archive           archive mode, equivalent to -rlptgoD
        -r, --recursive         recurse into directories
        -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)
    -c, --checksum          always checksum

    --exclude-from=FILE     exclude patterns listed in FILE
    --include-from=FILE     don't exclude patterns listed in FILE

    --include=PATTERN       don't exclude files matching PATTERN
    --exclude=PATTERN       exclude files matching PATTERN

    -v, --verbose           increase verbosity
    -n, --dry-run           show what would have been transferred

    --delete            delete files that don't exist on the sending side (!!!danger!!!)
    --delete-excluded       also delete excluded files on the receiving side
    --delete-after      delete after transferring, not before

    -q, --quiet         decrease verbosity
    -R, --relative          use relative path names
    -b, --backup            make backups (default ~ suffix)
        --backup-dir        make backups into this directory
        --suffix=SUFFIX     define backup suffix
    -u, --update            update only (don't overwrite newer files)
    -L, --copy-links        copy the referent of symlinks
        --copy-unsafe-links     copy links outside the source tree
        --safe-links        ignore links outside the destination tree
    -H, --hard-links        preserve hard links
    -S, --sparse            handle sparse files efficiently
    -W, --whole-file        copy whole files, no incremental checks
        --no-whole-file     turn off --whole-file
    -x, --one-file-system       don't cross filesystem boundaries
    -B, --block-size=SIZE       checksum blocking size (default 700)
    -C, --cvs-exclude       auto ignore files in the same way CVS does
        --existing          only update files that already exist
        --ignore-existing       ignore files that already exist on the receiving side
        --ignore-errors     delete even if there are IO errors
        --max-delete=NUM        don't delete more than NUM files
        --partial           keep partially transferred files
        --force         force deletion of directories even if not empty
        --numeric-ids       don't map uid/gid values by user/group name
        --timeout=TIME      set IO timeout in seconds
    -I, --ignore-times      don't exclude files that match length and time
        --size-only         only use file size when determining if a file should be transferred
        --modify-window=NUM     Timestamp window (seconds) for file match (default=0)
    -T  --temp-dir=DIR      create temporary files in directory DIR
        --compare-dest=DIR      also compare destination files relative to DIR
        --link-dest=DIR     create hardlinks to DIR for unchanged files
    -P              equivalent to --partial --progress
    -z, --compress          compress file data
        --version           print version number
        --daemon            run as a rsync daemon
        --no-detach         do not detach from the parent
        --address=ADDRESS       bind to the specified address
        --config=FILE       specify alternate rsyncd.conf file
        --port=PORT         specify alternate rsyncd port number
        --blocking-io       use blocking IO for the remote shell
        --no-blocking-io        turn off --blocking-io
        --stats         give some file transfer stats
        --progress          show progress during transfer
        --log-format=FORMAT     log file transfers using specified format
        --password-file=FILE    get password from FILE
        --bwlimit=KBPS      limit I/O bandwidth, KBytes per second
        --read-batch=PREFIX     read batch fileset starting with PREFIX
        --write-batch=PREFIX    write batch fileset starting with PREFIX
    -h, --help          show this help screen

实际使用rysnc的几个典型实例:

  • 备份远程数据到本地
        rsync -e "ssh -l huangwei 192.168.1.162" -a huangwei@192.168.1.162:/home/huangwei/rsyncbak/ ~/rsyncbak
    

实时同步

参考资源

返回顶部