rsync
what
Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。Rstync软件适用于unix/linux/windows等多种操作系统平台。
Rsync英文全称为Remotesynchronization,即远程同步。从软件的名称就可以看出来,Rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似ssh带的scp命令,但又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。当然,Rsync还可以在本地主机的不通分区或目录之间全量及增量的复制数据,这又类似cp命令,但同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。此外,利用Rsync还可以实现删除文件和目录功能,这又相当于rm命令。
一个rsync相当于scp,cp,rm,并且优于他们每一个命令。
在同步备份数据时,默认情况下,Rsync通过其独特的”quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可以根据权限,属主等属性的变化同步,但需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可以实现快速的同步备份数据。一边对比差异,一边对差异的部分进行同步。
特性
它的特性如下:
- 可以镜像保存整个目录树和文件系统
- 可以很容易做到保持原来文件的权限、时间、软硬链接等等
- 无须特殊权限即可安装
- 优化的流程,文件传输效率高
- 可以使用 rsh、ssh 等方式来传输文件,当然也可以通过直接的 socket 连接
- 支持匿名传输
在使用 rsync 进行远程同步时,可以使用两种方式:远程 Shell 方式(用户验证由 ssh 负责)和 C/S 方式(即客户连接远程 rsync 服务器,用户验证由 rsync 服务器负责)。
无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。
需要注意拷贝的时候源目录加“/”和不加“/”的区别(加“/”表示只拷贝该目录之下的文件;不加“/”表示连该目录一起拷贝)
常用参数
1 |
|
Daemon 模式
Daemon,即守护进程。该模式是在一台rsync服务器上安装并运行一个rsync的服务进程,其他的客户端通过rsync命令上传文件到服务器中。该模式是rsync最常用的功能,用来做数据的定时或者实时备份
准备
1 |
|
修改 /etc/rsyncd.conf 配置详解
1 |
|
启动服务
1 |
|
客户端测试
1 |
|
rsync 常见错误
1 |
|
解决:防火墙问题,放行端口或直接关闭
1 |
|
解决:用户名与密码问题或模块问题,检查用户名与密码是否匹配,服务器端模块是否存在
1 |
|
解决:服务器端配置文件 /etc/rsyncd.conf 问题,检查配置文件参数是否出错
sersync
what
Synchronize files and folders between servers -using inotiy and rsync with c++ 服务器实时同步文件,服务器镜像解决方案
可以安装在client端实现自动同步
install
https://code.google.com/archive/p/sersync/downloads
1 |
|
修改/usr/local/sersync/confxml.xml
1 |
|
启动
1 |
|
测试是否成功
1 |
|