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有一种服务同步方式,根据