10.28 rsync工具介绍
rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。也可以使用 rsync 同步本地硬盘中的不同目录。
rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法 进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
10.29/10.30 rsync常用选项
-a 归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD, -a选项后面可以跟一个 --no-OPTION
这个表示关闭-rlptgoD中的某一个例如 -a--no-l
等同于-rptgoD
-r 对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项
-v 打印一些信息出来,比如速率,文件数量等
-l 保留软链结
-L 向对待常规文件一样处理软链结,如果是SRC中有软连接文件,则加上该选项后将会把软连接指向的目标文件拷贝到DST
-p 保持文件权限
-o 保持文件属主信息
-g 保持文件属组信息
-D 保持设备文件信息
-t 保持文件时间信息
--delete
删除那些DST中SRC没有的文件
--exclude=PATTERN
指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt)
--progress
在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等
-u 加上这个选项后将会把DST中比SRC还新的文件排除掉,不会覆盖
[root@aming-01 ~]# rsync -av 111.txt /tmp/
sending incremental file list
111.txt
sent 129 bytes received 35 bytes 328.00 bytes/sec
total size is 36 speedup is 0.22
远程拷贝 格式 IP:path
(如:10.0.2.34:/root/)
[root@aming-01 ~]# rsync -av 123.txt 192.168.0.101:/data/
ssh: connect to host 192.168.0.101 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.2]
10.31 rsync通过ssh同步
[root@aming-01 ~]# rsync -avL test1/ root@192.168.132.130:/tmp/test2/
sending incremental file list
created directory /tmp/test2
./
sent 42 bytes received 52 bytes 62.67 bytes/sec
total size is 0 speedup is 0.00