Rsync远程数据同步工具

本文详细介绍Rsync远程数据同步工具的使用方法,包括基本和高级功能,如增量拷贝、备份、镜像操作及远程拷贝方式。Rsync通过比较文件大小和修改时间进行快速检查,支持ssh和rsync daemon连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

远程数据同步工具

Rsync是一个远程数据同步工具。 它可以进行本地的文件拷贝,也可以通过远程shell或者sync后台进行远程文件的拷贝。Rsync将本地端称为client,远程端称做server。Sync的主要优势在于增量拷贝,通过拷贝远端和本地端文件的不同来减少拷贝的工作量。

Rsync常常被用来做备份和镜像操作,同时我们也可以将Rsync看作是增强版的拷贝命令。

Rsync通过 “quick check” 方式来比较文件的不同,即通过比较文件是否改变了大小,或者是最后修改的时间。

rsync - a fast, versatile, remote (and local) file-copying tool

SYNOPSIS:

  • Local: rsync [OPTION…] SRC… [DEST]
  • Access via remote shell:
    • Pull: rsync [OPTION… ] [USER@]HOST:SRC… DEST
    • Push: rsync [OPTION…] SRC… [USER@]OST:DEST
  • Access via rsync daemon:
    • Pull: rsync [OPTION… ] [USER@]HOST::SRC… [DEST]
    • Pull: rsync [OPTION… ] rsync://[USER@]HOST[:PORT]/SRC… [DEST]
    • Push: rsync [OPTION…] SRC… [USER@]HOST::DEST
    • Push: rsync [OPTION…] SRC… rsync://[USER@]HOST[:PORT]/DEST

如果没有[DEST],那么rsync仅仅是列出当前目录下的文件,即和ls的作用相当。Rsync支持两种远程拷贝的方式,第一种是常规的remote-shell程序,例如ssh、rsh等。第二种是通过TCP来连接一个rsync后台程序。

用法

简单用法

rsync -t *.c foo:src/

这条命令的作用是将本地所有以.c结尾的文件都拷贝到远端的src/文件夹下。如果文件已经在远端存在,那么Rsync 利用 remote-update协议更新文件的不同部分。

rsync -avz f00:src/bar /data/tmp

这条命令将会将远端的src/bar 文件夹拷贝到本地的/data/tmp文件夹下。在本地的/data/tmp下会出现/data/tmp/bar

rsync -avz f00:src/bar/ /data/tmp

在路径之后的“/”表示拷贝该文件夹下的内容,区别于拷贝整个文件,即一下两条命令的行为相同

rsync -avz f00:src/bar/ /data/tmp/bar
rsync -avz f00 :src/bar /data/tmp

高级用法

多文件的拷贝

rsync -av host:file1 :file2 host:file{3,4} /dest/

选项

常用的选项

-v : verbose
-r : copies data recursively (but don’t preserve timestamps and permission while transferring data
-a : archive mode, archive mode allows copying files recursively and it also preserves symbolic links, file permissions, user & group ownerships and timestamps
-z : compress file data
-h : human-readable, output numbers in a human-readable format
–delete: delete files that not in source

其他选项

-v, --verbose:
详细模式输出 只有一个v的情况下,rsync会输出哪些文件被传输,同时在最后输出一个简单的总结。如果是两个-v那么会给出哪些文件被跳过,同时给出更为详细的总结
–size-only: 改变“quick check”的模式,默认只要大小或者时间戳不同的文件都会被传输,这里只传输大小被改变的文件
–modify-window:
通常两个文件的时间戳需要一样才能被当作是相同的,但是有些系统时间的分辨率不同(例如MS Windosw最小为2s),通过这个选项指定容忍的时间差。
-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现实哪些文件将被传输。
–delete: 删除发送端不存在的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值