当前位置: 首页 > news >正文

rsync命令常用参数详解

1、语法

Usage: rsync [OPTION]… SRC [SRC]… DEST
or rsync [OPTION]… SRC [SRC]… [USER@]HOST:DEST
or rsync [OPTION]… SRC [SRC]… [USER@]HOST::DEST
or rsync [OPTION]… SRC [SRC]… rsync://[USER@]HOST[:PORT]/DEST
or rsync [OPTION]… [USER@]HOST:SRC [DEST]
or rsync [OPTION]… [USER@]HOST::SRC [DEST]
or rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]
The ‘:’ usages connect via remote shell, while ‘::’ & ‘rsync://’ usages connect
to an rsync daemon, and require SRC or DEST to start with a module name.

2、常用参数

-v, --verbose               increase verbosity
-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
-z, --compress              compress file data during the transfer

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

-v, --verbose 详细模式输出

-z, --compress 对备份的文件在传输时进行压缩处理

--delete 删除那些DST中SRC没有的文件

--force 强制删除目录,即使不为空

-e 'ssh -p 30022' (这里用来指定ssh端口,默认22)

--exclude=workspace(同步/var/lib/jenkins/目录下除workspace外的所有内容)

例子

同步远程服务器上的目录到本地

rsync -avz --delete --force --exclude=workspace -e 'ssh -p 30022' root@remoutehost_ip:/var/lib/jenkins/ /data/jenkins/

命令解析:该命令是将远程服务器上/var/lib/jenkins/目录下的所有(除了workspace)文件及目录(不包含jenkins目录,如果想连同目录本身被同步,/var/lib/jenkins后不能加/,即/var/lib/jenkins)同步到当前服务器的/data/jenkins/目录下

3、参数详解


Options-v, --verbose               increase verbosity--info=FLAGS            fine-grained informational verbosity--debug=FLAGS           fine-grained debug verbosity--msgs2stderr           special output handling for debugging-q, --quiet                 suppress non-error messages--no-motd               suppress daemon-mode MOTD (see manpage caveat)-c, --checksum              skip based on checksum, not mod-time & size-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)--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         set backup suffix (default ~ w/o --backup-dir)-u, --update                skip files that are newer on the receiver--inplace               update destination files in-place (SEE MAN PAGE)--append                append data onto shorter files--append-verify         like --append, but with old data in file checksum-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 source tree--munge-links           munge symlinks to make them safer (but unusable)-k, --copy-dirlinks         transform symlink to a 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 the file's executability--chmod=CHMOD           affect file and/or directory permissions-A, --acls                  preserve ACLs (implies --perms)-X, --xattrs                preserve extended attributes-o, --owner                 preserve owner (super-user only)-g, --group                 preserve group--devices               preserve device files (super-user only)--copy-devices          copy device contents as regular file--specials              preserve special files-D                          same as --devices --specials-t, --times                 preserve modification times-O, --omit-dir-times        omit directories from --times-J, --omit-link-times       omit symlinks from --times--super                 receiver attempts super-user activities--fake-super            store/recover privileged attrs using xattrs-S, --sparse                handle sparse files efficiently--preallocate           allocate dest files before writing them-n, --dry-run               perform a trial run with no changes made-W, --whole-file            copy files whole (without delta-xfer 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 the remote machine--existing              skip creating new files on receiver--ignore-existing       skip updating files that already exist on receiver--remove-source-files   sender removes synchronized files (non-dirs)--del                   an alias for --delete-during--delete                delete extraneous files from destination dirs--delete-before         receiver deletes before transfer, not during--delete-during         receiver deletes during the transfer--delete-delay          find deletions during, delete after--delete-after          receiver deletes after transfer, not during--delete-excluded       also delete excluded files from destination dirs--ignore-missing-args   ignore missing source args without error--delete-missing-args   delete missing source args from destination--ignore-errors         delete even if there are I/O errors--force                 force deletion of directories 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 transfer's end-m, --prune-empty-dirs      prune empty directory chains from the file-list--numeric-ids           don't map uid/gid values by user/group name--usermap=STRING        custom username mapping--groupmap=STRING       custom groupname mapping--chown=USER:GROUP      simple username/groupname mapping--timeout=SECONDS       set I/O timeout in seconds--contimeout=SECONDS    set daemon connection timeout in seconds-I, --ignore-times          don't skip files that match in size and mod-time-M, --remote-option=OPTION  send OPTION to the remote side only--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 destination 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--skip-compress=LIST    skip compressing files with a suffix in LIST-C, --cvs-exclude           auto-ignore files 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-s, --protect-args          no space-splitting; only wildcard special-chars--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 daemon-access password from FILE--list-only             list the files instead of copying them--bwlimit=RATE          limit socket I/O bandwidth--outbuf=N|L|B          set output buffering to None, Line, or Block--write-batch=FILE      write a batched update to FILE--only-write-batch=FILE like --write-batch but w/o updating destination--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               print version number
(-h) --help                  show this help (-h is --help only if used alone)Use "rsync --daemon --help" to see the daemon-mode command-line options.
rsync参数的具体解释如下: -v, --verbose 详细模式输出 -q, --quiet 精简输出模式 -c, --checksum 打开校验开关,强制对文件传输进行校验 -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -r, --recursive 对子目录以递归模式处理 -R, --relative 使用相对路径信息 -b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。 --backup-dir 将备份文件(如~filename)存放在在目录下。 -suffix=SUFFIX 定义备份文件前缀 -u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) -l, --links 保留软链结 -L, --copy-links 想对待常规文件一样处理软链结 --copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结 --safe-links 忽略指向SRC路径目录树以外的链结 -H, --hard-links 保留硬链结 -p, --perms 保持文件权限 -o, --owner 保持文件属主信息 -g, --group 保持文件属组信息 -D, --devices 保持设备文件信息 -t, --times 保持文件时间信息 -S, --sparse 对稀疏文件进行特殊处理以节省DST的空间 -n, --dry-run现实哪些文件将被传输 -W, --whole-file 拷贝文件,不进行增量检测 -x, --one-file-system 不要跨越文件系统边界 -B, --block-size=SIZE 检验算法使用的块尺寸,默认是700字节 -e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步 --rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息 -C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件 --existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件 --delete 删除那些DST中SRC没有的文件 --delete-excluded 同样删除接收端那些被该选项指定排除的文件 --delete-after 传输结束以后再删除 --ignore-errors 及时出现IO错误也进行删除 --max-delete=NUM 最多删除NUM个文件 --partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输 --force 强制删除目录,即使不为空 --numeric-ids 不将数字的用户和组ID匹配为用户名和组名 --timeout=TIME IP超时时间,单位为秒 -I, --ignore-times 不跳过那些有同样的时间和长度的文件 --size-only 当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间 --modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0 -T --temp-dir=DIRDIR中创建临时文件 --compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份 -P 等同于 --partial --progress 显示备份过程 -z, --compress 对备份的文件在传输时进行压缩处理 --exclude=PATTERN 指定排除不需要传输的文件模式 --include=PATTERN 指定不排除而需要传输的文件模式 --exclude-from=FILE 排除FILE中指定模式的文件 --include-from=FILE 不排除FILE指定模式匹配的文件 --version 打印版本信息 --address 绑定到特定的地址 --config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件 --port=PORT 指定其他的rsync服务端口 --blocking-io 对远程shell使用阻塞IO -stats 给出某些文件的传输状态 --progress 在传输时现实传输过程 --log-format=formAT 指定日志文件格式 --password-file=FILE 从FILE中得到密码 --bwlimit=KBPS 限制I/O带宽,KBytes per second -h, --help 显示帮助信息 
http://www.lryc.cn/news/289318.html

相关文章:

  • 基于SpringBoot实现策略模式提供系统接口扩展能力
  • v43-47.problems
  • 华为HCIP Datacom H12-831 卷14
  • 《vtk9 book》 官方web版 第3章 - 计算机图形基础 (1 / 6)
  • 负载均衡是什么,负载均衡有什么作用
  • Leetcode 3020. Find the Maximum Number of Elements in Subset
  • 【Vue2 + ElementUI】更改el-select的自带的下拉图标为倒三角,并设置相关文字颜色和大小
  • TensorFlow2实战-系列教程5:猫狗识别任务数据增强实例
  • Unity中URP下额外灯角度衰减
  • BKP备份寄存器、RTC实时时钟
  • k8s 进阶实战笔记 | Scheduler 调度策略总结
  • 微服务-微服务Spring-cloud-open-feign
  • 分类预测 | Matlab实现DT决策树多特征分类预测
  • 随机点名--好玩哦
  • Linux下的进程操作
  • uniapp scroll-view用法[下拉刷新,触底事件等等...](4)
  • 聊聊大模型 RAG 探索之路的血泪史,一周出Demo,半年用不好
  • UniApp 生命周期详解
  • 用大模型训练实体机器人,谷歌推出机器人代理模型
  • HCIA-HarmonyOS设备开发认证-2.设备开发入门
  • 2. HarmonyOS 应用开发 DevEco Studio 准备-2
  • 【K8S 云原生】K8S的图形化工具——Rancher
  • 3. SQL 语言
  • Android音量调节修改
  • 九州金榜|为什么鼓励式家庭教育?
  • Java复习系列之阶段二:数据库
  • TCP 异常断开连接【重点】
  • Biotin-PEG4-TSA,生物素-PEG4-酪胺,用于标记蛋白质、核酸等生物分子
  • Python环境下基于机器学习的NASA涡轮风扇发动机剩余使用寿命RUL预测
  • Vite学习指南