当前位置: 首页 > Linux

linux的rsync远程同步文件

时间:2023-04-06 18:40:41 Linux

rsync的全称是RemoteSync,是unix下的数据镜像备份工具。它可以轻松实现本地和远程备份文件。rsync最重要的一点就是支持增量备份。命令语法rsync[OPTION]...SRCDESTrsync[OPTION]...SRC[USER@]host:DESTrsync[OPTION]...[USER@]HOST:SRCDESTrsync[OPTION]...[USER@]HOST::SRCDESTrsync[OPTION]...SRC[USER@]HOST::DESTrsync[OPTION]...rsync://[USER@]HOST[:PORT]/SRC[DEST]对应以上六种命令格式,rsync有六种不同的工作模式:复制本地文件。当SRC和DES路径信息都不包含单个冒号“:”分隔符时,启用此操作模式。例如:rsync-a/data/backup使用远程shell程序(如rsh、ssh)将本地机器的内容复制到远程机器。当DST路径地址包含单个冒号“:”分隔符时启用此模式。例如:rsync-avz*.cfoo:src使用远程shell程序(如rsh、ssh)将远程机器的内容复制到本地机器。当SRC地址路径包含单个冒号“:”分隔符时启用此模式。例如:rsync-avzfoo:src/bar/data将文件从远程rsync服务器复制到本地机器。当SRC路径信息包含“::”分隔符时启用此模式。例如:rsync-avroot@192.168.78.192::www/databack将文件从本地机器复制到远程rsync服务器。当DST路径信息包含“::”分隔符时启用此模式。例如:rsync-av/databackroot@192.168.1.110::www列出远程机器的文件列表。这类似于rsync传输,只是在命令中省略了本地机器信息。如:rsync-vrsync://192.168.1.110/www如果主机和路径之间用单冒号隔开,表示使用远程shell通信方式,如果用双冒号隔开,则表示表示rsync守护进程连接常用的几个参数--vverbose详细输出--a递归模式,递归传输文件,并维护连接、权限、用户和组、时间信息--z压缩传输--h人类可读,outputfriendly--u跳过现有文件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显示哪些文件将被transferred-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=NUMdeleteuptoNUMfiles--partialkeepfilesthathavenotbefullytransferedupsomereason,加快后续重传速度--force强制删除目录,即使不为空--numeric-ids不转换数字用户和组id匹配用户名和组名--timeout=TIMEIP超时秒数-I,--ignore-times不跳过时间和长度相同的文件--size-only在决定是否备份时查看文件时,只勾选文件大小不考虑文件时间--modify-window=NUM决定时间戳窗口,用于判断文件是否同时存在,默认为0-T--temp-dir=DIR在DIR中创建临时文件--compare-dest=DIR同时比较DIR中的文件,决定是否备份-P相当于--partial--progress显示备份过程-z,--compress传输时压缩备份文件--exclude=PATTERN指定排除不需要传输的文件模式--include=PATTERN指定不排除但需要传输文件模式--exclude-from=FILE排除FILE中指定模式的文件--include-from=FILE不排除FILE中匹配指定模式的文件--version打印版本信息当既没有SRC也没有DES路径信息时本地拷贝included有单个冒号“:”分隔符时启动该工作模式复制jdk.tar.gz到rumenz目录>rsync-avhzjdk.tar.gzrumenz复制src目录到rumenz目录复制/opt/src目录文件同步发送到rumenz目录。记住如果目标地址没有src目录,rsync会自动创建这个文件夹。>rsync-azhv/opt/srcrumenz/将src目录下的所有文件复制到rumenz目录>rsync-azhv/opt/src/rumenz/SRC路径末尾的/表示不自动创建DEST文件夹,在manrsync中的解释是,末尾的/表示“复制当前目录下的文件”,而不是“复制当前目录”。远程复制使用远程shell程序(如rsh、ssh)将本地机器的内容复制到远程机器上。当DES路径地址包含冒号:或::分隔符时启用此模式。同步备份本地/opt/src/目录下的所有文件到远程/opt/rumenz/目录>rsync-avhz/opt/src/root@rumenz.com:/opt/rumenz/同步本地/opt/src/目录备份到远程/opt/rumenz/目录>rsync-avhz/opt/srcroot@rumenz.com:/opt/rumenz/复制远程/opt/rumenz目录到rumenz目录(ssh方式,单冒号)>rsync-avhzroot@rumenz.com:/opt/rumenzrumenz/将远程/opt/rumenz目录下的所有文件复制到rumenz目录下(ssh方式,单冒号)>rsync-avhzroot@rumenz.com:/opt/rumenz/rumenz/复制远程/opt/rumenz目录到rumenz目录(rsync方式,双冒号)>rsync-avhzroot@rumenz.com::/opt/rumenzrumenz/复制远程/opt下的所有文件/rumenz目录到rumenz目录(rsync模式,双冒号)>rsync-avhzroot@rumenz.com::/opt/rumenz/rumenz/列出远程机器上的文件>rsync-vrsync://rumenz.com/wwwrsync经常使用非标准端口遇到的一种情况是ssh更改了默认端口22,此时需要使用-e参数。rsync常用的认证方式有两种,一种是rsync-daemon,一种是ssh。ssh一般是首选,但是当远程服务器默认的ssh端口被修改后,rsync找不到合适的方法输入对方的ssh服务端口号。比如现在向本机rumenz.com传输文件,但是此时rumenz.com的ssh端口并不是默认的22端口。>rsync-avz-e"ssh-p$port"/opt/src/root@rumenz.com:/opt/rumenz/显示备份进度>rsync-zhvessh--progressjdk.tar.gzroot@rumenz.com:/opt/rumenz/限制备份文件的最大大小>rsync-zhvessh--max-size='2000k'jdk.tar.gzroot@rumenz.com:/opt/rumenz/备份后自动删除本地文件>rsync--remove-source-files-zvhjdk.tar.gzroot@rumenz.com:/opt/rumenz/设置备份带宽>rsync--bwlimit=100-avzhessh/opt/src/root@rumenz.com:/opt/rumenz/原文链接:https://rumenz.com/rumenbiji/...微信公众号:入门