sshd+rsync实现数据同步原理很简单
客户端通过sshd连接到服务器,服务器将数据同步到客户端
先了解一下服务器的内核信息
server端
[root@server ~]# uname -a
Linux server.test.com 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
client端
[root@client ~]# uname -aLinux client.test.com 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
首先客户端与服务端都需要配置好yum源,这里我使用的本地的yum源
安装rsync与xinetd服务
[root@server ~]# yum install rsync xinetd -y
[root@client ~]# yum install rsync xinetd -y
修改/etc/xinetd/
[root@server ~]# vi /etc/xinetd.d/rsync
将 disable=yes改为 disable=no
然后重启xinetd服务
[root@server ~]# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
client服务器做相同的操作
client和服务器端的ssh服务都开启
[root@server ~]# /etc/init.d/sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
在server上
[root@server /]# mkdir /data
[root@server /]# cd /data
[root@server data]# mkdir server
[root@server data]# cd server/
[root@server server]# pwd
/data/server
[root@server server]# du -sh test.rar
249M test.rar
在 server 上传了一个文件test.rar
然后新建一个文件
[root@server server]# touch tt
[root@server server]# ls
test.rar tt
接下来在client上建立对应的文件夹
[root@client ~]# mkdir /data
[root@client ~]# mkdir /data/backup
在client上检查数据的同步状况
[root@client /]# cd /data/backup/
[root@client backup]# ls
test.rar tt
[root@client backup]# ll
total 254452
-rw-r--r-- 1 root root 260296040 Jan 25 2014 test.rar
-rw-r--r-- 1 root root 0 Jan 25 09:46 tt
服务器端删除数据,客户端同步删除数据
[root@client server]# rsync -av --delete 192.168.1.110:/data/server/ /data/backup/
root@192.168.1.110‘s password:
receiving file list ... done
deleting server/test.rar
deleting server/
deleting tt
./
sent 26 bytes received 76 bytes 22.67 bytes/sec
total size is 260296040 speedup is 2551921.96
服务器ssh服务更换其他端口,实现数据同步
[root@server ~]# vim /etc/ssh/sshd_config
[root@server ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]