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/
[email protected]'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 ]