1、简介
rsync(remote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。也可以使用 rsync 同步本地硬盘中的不同目录。rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
2、基本特性
- 可以镜像保存整个目录树和文件
- 可以很容易做到保持原来文件的权限、时间、软硬链接等
- 无须特殊权限即可安装
- 优化的流程,文件传输效率高
- 可以使用 rsh、ssh 方式来传输文件,当然也可以通过直接的 socket 连接
- 支持匿名传输,以方便进行网站镜象
3、rsync命令
rsync 命令基本格式为:
1). 本地使用
rsync [OPTION…] SRC… [DES]
2). 通过远程 Shell 使用
拉: rsync [OPTION…] [USER@]HOST:SRC… [DEST]
推: rsync [OPTION…] SRC… [USER@]HOST:DEST
3). 访问 rsync 服务器
拉: rsync [OPTION…] [USER@]HOST::SRC… [DEST]
推: rsync [OPTION…] SRC… [USER@]HOST::DEST
拉: rsync [OPTION…] rsync://[USER@]HOST[:PORT]/SRC… [DEST]
推: rsync [OPTION…] SRC… rsync://[USER@]HOST[:PORT]/DEST
其中:
SRC: 是要复制的源位置
DEST: 是复制目标位置
若本地登录用户与远程主机上的用户一致,可以省略 USER@
使用远程 shell 同步时,主机名与资源之间使用单个冒号“:”作为分隔符
使用 rsync 服务器同步时,主机名与资源之间使用两个冒号“::”作为分隔符
当访问 rsync 服务器时也可以使用 rsync:// URL
“拉”复制是指从远程主机复制文件到本地主机(下载)
“推”复制是指从本地主机复制文件到远程主机(上传)
当进行“拉”复制时,若指定一个 SRC 且省略 DEST,则只列出资源而不进行复制
4、常用选项
5、rsync基础使用语法
特别注意
在指定复制源时,路径是否有最后的 “/” 有不同的含义,例如:
• /home : 表示将整个 /home 目录复制到目标目录
• /home/ : 表示将 /home 目录中的所有内容复制到目标目录
192.168.65.144 服务器端
192.168.65.149 客户端
1)基于ssh的rsync远程同步数据(推)
在客户端(192.168.64.149)查看
2)基于ssh的rsync远程同步数据(拉)
3)定期自动同步数据
设置一个定时同步
查看客户端目录里的文件
在服务器端目录里添加文件
在客户端查看自动同步的文件
6、配置匿名rsync服务器
1)安装rsync软件包
yum install -y rsync
2)定义配置文件
3)配置防火墙规则
4)启动并启用服务
5)测试(先关闭服务器端防火墙)
7、配置带用户和密码的rsync服务器
1)安装rsync软件包
yum install -y rsync
2)定义配置文件
3)配置rsyncd.secrets
4)配置防火墙规则
5)启动并启用服务
6)测试
1》第一种手动输入密码
2》自动输入密码
在客户端创建一个文件(rsync.pwd)用于存放密码,然后权限为600
在命令后加 --password-file=/rsync.pwd(存放密码的文件)