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
2、将passwd文件备份到100.100的/tmp/208.128.bak
rsync -aP /etc/passwd root@192.168.100.100:/tmp/208.128.bak
三、通过ssh同步文件夹
3、配置authorized_key实现免登录同步
1、生成ssh密钥对
ssh-keygen
2、分发ssh密钥到备份机器上
ssh-copy-id root@192.168.100.100
3、测试结果
rsync -aP /etc/passwd root@192.168.100.100:/tmp/208.128.bak
四、通过服务进行目录同步
rsnyc有一种服务同步方式,根据
本文转自 whytl 51CTO博客,原文链接:http://blog.51cto.com/11934539/2067174