命令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