Linux命令~rsync

命令rsync

  • 名称缩写: remote sync

  • 用途:一个快速、通用、远程(和本地)的文件复制工具。

  • 描述:rsync使用自己的rsync算法使本地和远程主机之间的文件同步,此算法只会传送两个文件之间的不同部分,而不是每次都将所有内容传送,因此速度很快。

  • 语法:

    #本地:
    ]# rsync [选项] 源 [目标]
    
    #远程shell访问:
    ]# rsync [选项] [USER@]HOST:源 [目标]       #下载
    ]# rsync [选项] 源 [USER@]HOST:目标         #上传
    
    访问rsync服务器:
    ]# rsync [选项] [USER@]HOST::源 [目标]                    #下载
    ]# rsync [选项] rsync://[USER@]HOST[:PORT]/源 [目标]
    ]# rsync [选项] 源 [USER@]HOST::目标                      #上传
    ]# rsync [选项] 源 rsync://[USER@]HOST[:PORT]/目标
    
  • 选项:

      -n, --dry-run               测试运行,不改变任何文件
      -v, --verbose               详细输出模式 (verbosity,冗长的)
      -q, --quiet                 精简输出模式 (quiet,安静的)
      -c, --checksum              强制对文件传输进行校验 (checksum,检验和)
      -a, --archive               归档模式,以递归方式传输文件,并保持所有文件属性,相当于-rlptgoD
      -r, --recursive             对子目录以递归模式处理 (recursive,递归的)
      -R, --relative              使用相对路径信息 (relative,相对的)
      -b, --backup                创建备份
          --backup-dir=DIR        指定备份目录
          --suffix=SUFFIX         备份的后缀
      -u, --update                更新
          --inplace               及时更新目标文件
          --append                将数据追加到更短的文件中
          --append-verify         在文件校验和中追加旧文件数据
      -d, --dirs                  不递归的传输目录
      -l, --links                 保留软链接
      -L, --copy-links            以常规文件方式处理软链接
          --copy-unsafe-links     仅仅拷贝指向SRC路径目录树以外的链结
          --safe-links            忽略指向SRC路径目录树以外的链结
      -k, --copy-dirlinks         将指向目录的符号链接转换为参考目录
      -K, --keep-dirlinks         将指向目录的符号连接当作目录
      -H, --hard-links            保持硬链接
      -p, --perms                 保持文件权限
      -E, --executability         保留执行权限
          --chmod=CHMOD           影响文件and/or目录权限
      -A, --acls                  保存acl(implies -p)
      -X, --xattrs                保存扩展属性
      -o, --owner                 保持文件属主信息
      -g, --group                 保持文件属组信息
          --devices               保存设备文件(仅限超级用户)
          --copy-devices          将设备内容复制为常规文件
          --specials              保存特殊文件
      -D,--devices --specials    保持设备文件信息
      -t, --times                 保持文件时间信息
      -O, --omit-dir-times        省略--times中的目录
          --super                 receiver attempts super-user activities
          --fake-super            store/recover privileged attrs using xattrs
      -S, --sparse                对稀疏文件进行特殊处理以节省DST的空间
      -W, --whole-file            拷贝文件,不进行增量检测
      -x, --one-file-system       不要跨越文件系统边界
      -B, --block-size=SIZE       检验算法使用的块尺寸,默认是700字节
      -e, --rsh=COMMAND           指定要使用的远程shell:rsh、ssh
          --rsync-path=PROGRAM    指定远程服务器上的rsync命令所在路径信息
          --existing              更新已存在于DST的文件,而不备份新创建的文件
          --ignore-existing       跳过已存在于DST的文件
          --remove-source-files   发送方删除同步文件(非目录)
          --del                   an alias for --delete-during
          --delete                删除目标中有,源中没有的文件
          --delete-before         receiver deletes before xfer, not during
          --delete-during         receiver deletes during the transfer
          --delete-delay          find deletions during, delete after
          --delete-after          传输结束后再删除
          --delete-excluded       同样删除接收端那些被该选项指定排除的文件
          --ignore-errors         即使出现I/O错误也要删除
          --force                 强制删除目录,即使不为空
          --max-delete=NUM        最多删除NUM个文件
          --max-size=SIZE         不要传输任何大于指定大小的文件
          --min-size=SIZE         不要传输任何小于指定大小的文件
      -P,--partial               保留因故没有完全传输的文件,随后再次传输
          --partial-dir=DIR       将部分传输的文件放入DIR目录
          --delay-updates         将所有更新后的文件放在最后
      -m, --prune-empty-dirs      从文件列表中删除空目录链
          --numeric-ids           不将uid/gid数值与user/group名字作匹配映射
          --timeout=SECONDS       设置超时时间,单位是秒
          --contimeout=SECONDS    设置守护进程连接超时的时间(以秒为单位)
      -I, --ignore-times          不跳过相同时间和长度的文件
          --size-only             跳过大小匹配的文件
          --modify-window=NUM     决定文件是否时间相同时使用的时间戳窗口,默认为0
      -T, --temp-dir=DIR          在DIR中创建临时文件
      -y, --fuzzy                 find similar file for basis if no dest file
          --compare-dest=DIR      同样比较DIR中的文件来决定是否需要备份
          --copy-dest=DIR         ... and include copies of unchanged files
          --link-dest=DIR         hardlink to files in DIR when unchanged
      -z, --compress              在传输时进行压缩处理
          --compress-level=NUM    设置压缩级别
          --skip-compress=LIST    跳过列表中带有后缀的压缩文件
      -C, --cvs-exclude           使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件
      -f, --filter=RULE           添加文件过滤规则
      -F                          same as --filter='dir-merge /.rsync-filter'
                                  repeated: --filter='- .rsync-filter'
          --exclude=PATTERN       指定排除不需要传输的文件模式
          --exclude-from=FILE     排除FILE中指定模式的文件
          --include=PATTERN       指定不排除而需要传输的文件模式
          --include-from=FILE     不排除FILE指定模式匹配的文件
          --files-from=FILE       从文件中读取源文件名列表
      -0, --from0                 all *from/filter files are delimited by 0s
      -s, --protect-args          no space-splitting; wildcard chars only
          --address=ADDRESS       绑定到特定的地址
          --port=PORT             指定其他的rsync服务端口
          --sockopts=OPTIONS      指定自定义TCP选项
          --blocking-io           对远程shell使用阻塞IO
          --stats                 给出某些文件的传输状态
      -8, --8-bit-output          leave high-bit chars unescaped in output
      -h, --human-readable        以人类可读格式输出
          --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    在FILE中读取密码
          --list-only             list the files instead of copying them
          --bwlimit=KBPS          限制I/O带宽
          --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
          --iconv=CONVERT_SPEC    request charset conversion of filenames
          --checksum-seed=NUM     set block/file checksum seed (advanced)
      -4, --ipv4                  prefer IPv4
      -6, --ipv6                  prefer IPv6
          --version               打印版本信息
      -h,--help                  显示帮助信息
    
  • 实例:

    ]# rsync -a --delete /usr/src root@192.168.4.10:/usr/dst -e 'ssh'
    
    

转载于:https://my.oschina.net/xinsui1314x/blog/2251679

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值