rsync工具

rsync工具用于同步文件夹数据,他不同于cp命令,他可以处理实时在变更的文件,把源文件目录和目标数据目录同步,对于两个目录相同的部分数据则不会处理。

一、工具概要

命令写法
研究了下SRC是source的缩写,DEST是destination的缩写

rsync -选项 源目录路径 (目标主机用户名)@目标IP地址:目标目录路径
rsync -选项... SRC [SRC]... 目标路径
rsync -选项... SRC [SRC]... [USER@]HOST:DEST
rsync -选项... SRC [SRC]... [USER@]HOST::DEST
rsync -选项... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
rsync -选项... [USER@]HOST:SRC [DEST] ##
rsync -选项... [USER@]HOST::SRC [DEST] ##
rsync -选项... rsync://[USER@]HOST[:PORT]/SRC [DEST] ##
命令常用选项
-a 等同于 -rtplgoD
-r 拷贝目录时要用,类似cp时的-r选项
-v 详细同步的详细信息,让我们知道同步的过程
-l 保留软链接
-L 加上该选项后,同步软链接时会把源文件给同步
-p 保持文件的权限属性
-o 保持文件的属主
-g 保持文件的组别
-D 保持设备文件信息
-t 保持文件的时间属性
--delte 删除DEST中SRC没有的文件
--exclude 过滤指定文件,如--exclude“logs”会把文件名包含logs的文件或者目录过滤掉,不同步
-P 显示同步过程,比如速率,比-v更加详细
-u 加上该选项后,如果目标目录中的文件比原始目录新,则不同步
-z 传输时压缩

操作命令写法示例:

要点:
1、同步文件夹时必须在末尾加上“/”符号
2、重点了解 -a -delte -exclude -u四个选项

二、rsync命令操作示例

1、将passwd文件备份到本地的/tmp/pswd.bak

rsync -aP /etc/passwd /tmp/pswd.bak

Linux系统管理初步(八)数据备份工具rsync

2、将passwd文件备份到100.100的/tmp/208.128.bak

rsync -aP /etc/passwd root@192.168.100.100:/tmp/208.128.bak

Linux系统管理初步(八)数据备份工具rsync

三、通过ssh同步文件夹

3、配置authorized_key实现免登录同步

1、生成ssh密钥对

ssh-keygen
Linux系统管理初步(八)数据备份工具rsync

2、分发ssh密钥到备份机器上

ssh-copy-id root@192.168.100.100

Linux系统管理初步(八)数据备份工具rsync

3、测试结果

rsync -aP /etc/passwd root@192.168.100.100:/tmp/208.128.bak

Linux系统管理初步(八)数据备份工具rsync

四、通过服务进行目录同步

rsnyc有一种服务同步方式,根据