rsync 是一个能够高效远程更新的文件传输程序,使用快速差分算法。

用法

rsync [OPTION]... SRC [SRC]... DEST
        rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
        rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
        rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
        rsync [OPTION]... [USER@]HOST:SRC [DEST]
        rsync [OPTION]... [USER@]HOST::SRC [DEST]
        rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

':' 用法通过远程 shell 连接,而 '::' 和 'rsync://' 用法连接到 rsync 守护程序,并要求 SRC 或 DEST 以模块名称开头。

选项

-v,--verbose

详细模式

--info=FLAGS

细粒度的详细信息

--debug=FLAGS

细粒度的详细调试信息

--msgs2stderr

用于调试的特殊输出处理

-q,--quiet

不显示非报错信息

-c,--checksum

基于校验而不是修改时间和大小来跳转

-a,--archive

归档模式,等于 -rlptgoD(不是 -H,-A,-X)

--no-OPTION

关闭一个已使用的选项(例如 --no-D)

-r,--recursive

递归目录

-R,--relative

使用关联路径名

--no-implied-dirs

不使用 --relative 发送隐含目录

-b,--backup

创建备份(参考 --suffix 和 --backup-dir)

--backup-dir=DIR

创建备份 DIR

--suffix=SUFFIX

设置备份的后缀

-u,--update

接收端较新的文件不进行同步

--inplace

rsync 默认创建新副本,并在完成后放到新位置。但这个选项会直接将数据写到新                  位置。

--append

使用将数据追加到文件末尾的方式更新文件,这是假设前边的数据都一致。如果                    接收端的文件比发送端的大小更大或一样,则跳过这个文件。

--append-verify

和 --append 选项类似,但接收端的现有数据包含在完整文件校验和验证步骤中,                  如果最终验证步骤失败,这将导致重新发送文件。

-d,--dirs

不递归目录。

-l,--links

将软链作为软链同步。

-L,--copy-links

同步软链指向的文件或目录,而不是软链本身。

--copy-unsafe-links

只同步“不安全的”软链。

--safe-links

忽略指向资源树以外的软链。

--munge-links

munge 软链接使它们更安全(但无法使用)。

-k,--copy-dirlinks

将指向目录的软链接转换为所指目录。

-K,--keep-dirlinks

将接收端的软链目录视为普通目录。

-H,--hard-links

保留硬链接。

-p,--perms

保留权限。

-E,--executability

保留文件的执行能力。

--chmod=CHMOD

影响文件和/或目录的权限。

-A,--acls

保留ACL(隐含 --perms)。

-X,--xattrs

保留扩展参数。

-o,--owner

保留属主(超级用户专享)。

-g,--group

保留属组。

--devices

保留设备文件(超级用户专享)。

--copy-devices

作为标准文件复制设备内容。

--specials

保留特殊文件。

-D

等于 --devices --specials

-t,--times

保留修改时间。

-O,--omit-dir-times

忽略从 --times 得到的目录。

-J,--omit-link-times

忽略从 --times 得到的软链。

--super

接收端尝试以超级用户执行。

--fake-super

保存/恢复在使用 --xattrs 时的权限。

-S,--sparse

有效地处理稀疏文件。

--preallocate

写入目标文件之前预分配。

-n,--dry-run

执行不做更改的试运行。

-W,--whole-file

使用此选项,不使用 rsync 的 delta-transfer 算法,而是按原样发送整个文件。

-x,--one-file-system

在当前文件系统中。

-B,--block-size=SIZE

强制固定的校验和的 block-size。

-e,--rsh=COMMAND

指定要使用的远程的 shell。

--rsync-path=PROGRAM

指定在远程机器上运行的 rsync。

--existing

不在接收端创建新文件。

--ignore-existing

不更新接收端存在的文件。

--remove-source-files

删除发送端的已同步的文件。

--del

--delete-during 的别名。

--delete

在接收端删除发送端没有的文件。

--delete-before

接收端在同步前删除。

--delete-during

接收端在同步时删除。

--delete-delay

在传输期间计算接收方的文件删除(如 --delete-during),然后在传输完成后删                      除。

--delete-after

接收端在同步之后删除。

--delete-excluded

从接收端删除排除的文件。

--ignore-missing-args

忽略因找不到源参数的报错。

--delete-missing-args

从接收端删除找不到的源参数。

--ignore-errors

即使是I/O报错也删除。

--force

即使是非空目录也强制删除。

--max-delete=NUM

删除最多 NUM 个文件。

--max-size=SIZE

大于 SIZE 的文件不删除。

--min-size=SIZE

小于 SIZE 的文件不删除。

--partial

保留部分(未完成)传输的文件。

--partial-dir=DIR

将部分(未完成)传输的文件放到 DIR 中。

--delay-updates

将所有更新的文件放到传输的最后。

-m,--prune-empty-dirs

从文件列表中去掉空目录。

--numeric-ids

不要按用户/组名映射 uid/gid 值。

--usermap=STRING

设置用户名映射。

--groupmap=STRING

设置组名映射。

--chown=USER:GROUP

单用户名/组名映射。

--timeout=SECONDS

以秒为单位设置I/O超时。

--contimeout=SECONDS

以秒为单位设置守护连接超时。

-I,--ignore-times

不跳过匹配大小和修改时间的文件。

-M,--remote-option=OPTION

只把 OPTION 发给远端。

--size-only

跳过匹配大小的文件。

--modify-window=NUM

使用降低的精度比较修改时间。

-T,--temp-dir=DIR

在 DIR 目录中创建临时文件。

-y,--fuzzy

如果接收端找不到对应文件,找一个相似文件做基准。

--compare-dest=DIR

比较相对于 DIR 的接收端文件。

--copy-dest=DIR

类似 --compare-dest,包括将不变的文件从 DIR 拷贝到接收端目录。

--link-dest=DIR

类似 --copy-dest,包括将不变的文件从 DIR 硬链接到接收端目录。

-z,--compress

传输时压缩文件数据。

--compress-level=NUM

设置压缩等级。

--skip-compress=LIST

以 LIST 作为后缀的文件不压缩。

-C,--cvs-exclude

自动忽略和 CVS 相同算法的文件。

-f,--filter=RULE

设置文件过滤规则。

-F

等于 --filter='dir-merge /.rsync-filter',第二次使用等于 --filter='exclude .rsync-filter'

--exclude=PATTERN

排除匹配 PATTERN 的文件。

--exclude-from=FILE

从 FILE 读取排除规则。

--include=PATTERN

包括匹配 PATTERN 的文件。

--include-from=FILE

从 FILE 读取包括规则。

--files-from=FILE

从 FILE 中读取源文件列表。

-0,--from0

所有 *-from/filter 文件用 0 分隔。

-s,--protect-args

没有空间分割,只有通配符特殊字符。

--address=ADDRESS

将传出套接字的地址绑定到守护进程。

--port=PORT

指定双冒号备用端口号。

--sockopts=OPTIONS

指定设置 TCP 选项。

--blocking-io

使用块 I/O 作为远程 shell。

--stats

设置文件传输 stats。

-8,--8-bit-output

使输出中的高位字符不转义。

-h,--human-readable

可读性好的方式输出数字。

--progress

展示传输进度。

-P

等于 --partial --progress

-i,--itemize-changes

输出一个源端和目的端的文件的区别的一个报告。有区别的文件会展示文件名和                    一个11位的字符串(YXcstpoguax)标示出具体区别。

Y代表更新方式:

<        发送到远端

>        从远端发来

c        改变或创建

h        硬链接

.         未更新

*         列表其余部分包括一个消息

X代表文件类型:

f         文件

d        目录

L         软链

D        设备

S         特殊文件(命名套接字或管道)

其他位每位只有两个值,字母或'.':

c 表示常规文件具有不同的校验和(需要 --checksum)或符号链接、设备或                          特殊文件具有更改的值。

s 表示常规文件的大小不同,将通过文件传输进行更新。

t 表示修改时间不同,正在更新为发送端的值(需要 --times)。t 的另一个                              值意味着修改时间将设置为传输时间,这发生在没有 --times 的情况下更新文                          件/符号链接/设备以及更改符号链接并且接收者无法设置其时间时。

p 表示权限不同,正在更新为发送端的值(需要 --perms)。

o 表示所有者不同并且正在更新为发送端的值(需要 --owner 和超级用户权                            限)。

g 表示组不同并且正在更新为发送端的值(需要 --group 和设置组的权限)。

u 暂时用不到。

a 表示ACL信息发生了变化。

x 表示扩展参数信息发生了变化。

--out-format=FORMAT

使用格式 FORMAT 输出更新。

--log-file=FILE

输出日志到 FILE。

--log-file-format=FMT

使用格式 FMT 记录更新。

--password-file=FILE

从 FILE 中读取可访问传输守护进程的密码。

--list-only

只列出文件,不复制。

--bwlimit=RATE

限制套接字I/O带宽。

--outbuf=N|L|B

设置输出缓冲区为 None,Line或Block。

--write-batch=FILE

向 FILE 写入批量更新。

--only-write-batch=FILE

类似 --write-batch,但排除在创建批量任务时接收端没有更新的情况。

--read-batch=FILE

从 FILE 读取批量更新。

--protocol=NUM

强制使用较老的协议版本。

--iconv=CONVERT_SPEC

请求文件名的字符集转化。

--checksum-seed=NUM

设置块/文件校验和种子(高级)。

-4,--ipv4

优先使用ipv4。

-6,--ipv6

优先使用ipv6。

--version

打印版本号。

--help

展示帮助文档。

使用示例:

1. rsync -av

最常用的选项,表示递归模式,保留软链接、文件权限、修改时间戳、属主、属组、设备文件、特殊文件,详细显示执行过程。

2. rsync -avu

不覆盖已修改的文件。

3. rsync -dv

只同步目录结构。

4. rsync -av --progress

展示同步的进度。

5. rsync -av --delete

删除目的端存在,但远端不存在的内容。

6. rsync -av --existing

目的端不创建新内容,就是只同步目的端有的内容。

7. rsync -i

输出一个源端和目的端的文件的区别的一个报告。

8. rsync -av --include/--exclude '通配符'

包括或排除某些文件,使用通配符描述。

linux 命令:rsync 详解相关推荐

  1. Linux命令-ls详解

    Linux命令-ls详解(适合小白用户参考) 1.ls        不加任何参数,表示查询当前目录下的文件/文件夹 小提示:上面的白色文字表示普通文件,蓝色文字表示目录 2.ls        后面 ...

  2. 面试官都在问 | Linux命令mpstat详解

    面试官都在问 | Linux命令mpstat详解 1. mpstat的基本用法 mpstat的全称为Multiprocessor Statistics,是一款常用的多核CPU性能分析工具,用来实时查询 ...

  3. linux 命令 curl 详解

    一.curl 介绍 curl是一个命令行访问URL的计算机逻辑语言的工具,发出网络请求,然后得到数据并提取出,显示在标准输出stdout上面; 可以用它来构造http request报文,curl(C ...

  4. linux命令 正则表达式,详解Linux命令中的正则表达式

    详解Linux命令中的正则表达式 Mark Do 2017年9月19日 暂无评论 阅读 981 次 命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式.正则表达式 ...

  5. LINUX命令大全详解备忘录

    文件目录操作命令 ls命令 cd命令 pwd命令 mkdir命令 rm 命令 rmdir 命令 mv命令 cp 命令 touch 命令 cat 命令 nl命令 more命令 less 命令 head ...

  6. linux手动同步文件命令,Linux文件同步命令rsync详解

    rsync:rsync [OPTION]... SRC DEST                 本机到本机 rsync [OPTION]... SRC [USER@]host:DEST     本机 ...

  7. Linux命令大全详解,让我们轻松入门学习Linux!

    1.最基本常用命令 序号 命令 对应英文 作用 01 ls list 查看当前文件夹下的内容 02 pwd print wrok directory 查看当前所在文件夹 03 cd [目录名] cha ...

  8. linux命令历史详解

    概念:顾名思义,我们在linux终端输过的命令,系统都会将他们加载到内存中,以便我们快速调用命令.另外,Bash拥有自动记录命令历史的功能,用户所执行的命令会在注销时自动记录到自己的家目录下的.bas ...

  9. linux命令——ll详解

    一.ll命令 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名. Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便. 如果要使用此命令,可以作如下修改: ...

  10. Linux命令lsscsi详解

    @ 一.什么是scsi 二.常见硬盘接口 1. IDE接口的硬盘 2. SCSI接口硬盘 3. SATA接口类型 三. lsscsi命令 1. lsscsi 命令安装 2. lsscsi命令英文手册 ...

最新文章

  1. 在express.js上启用HTTPS
  2. Python-EEG工具库MNE中文教程(5)-机器学习算法随机森林判断睡眠类型
  3. Java后台 自动 翻页查询
  4. 面试中如何回答“你是否愿意加班”
  5. H264解码器源码(Android 1.6 版和QT都可以调用)
  6. 初次联系导师短信模板_2020考研复试:提前联系导师的6点注意事项(附邮件模板)...
  7. jQuery实现等比例缩放大图片让大图片自适应页面布局
  8. python开发一个自己的技术网站_手把手教你写网站:Python WEB开发技术实战
  9. android 获取动态时间间隔,android 获取时间间隔
  10. java thread already started_自定义类加载器
  11. 网站横幅切换jquery 插件
  12. 绑定挂载mount --bind介绍
  13. 中药知多少!!!!!
  14. 机器学习:XGBoost+LightGBM+catboost+5折+stacking的用法
  15. linux pptpd无法访问内网,Linux系统中Starting pptpd无法运行的解决办法
  16. 文件存储、对象存储、块存储分不清楚?看完就懂了
  17. ###数字不同数之和###python123
  18. 【实验1 顺序结构】7-3 sdut-C语言实验-虎子分糖果
  19. N1文法「第1-第5」
  20. 四大名著红楼梦第三回 贾雨村夤缘复旧职 林黛玉抛父进京都

热门文章

  1. MySQL基础篇(一)-- SQL基础
  2. mybatis模糊查询like语句怎么写
  3. 机械革命s1pro 拆机教程
  4. 户外lisp导向牌如何安装_户外广告牌画面制作安装流程
  5. 解决方案提供商应该关注的28种最先进的存储产品
  6. zabbix监控僵尸进程
  7. Java实现多段小视频合成一个视频
  8. CSS3实现3D地球自转行星公转
  9. 空中客车公司采用3D打印零件的A350宽体飞机
  10. 英语语言文学c刊,幼儿教育学年外文外文 幼儿教育学年核心期刊参考文献有哪些...