轉:使用rsync在linux(服務端)與windows(客戶端)之間同步

轉自:http://blog.csdn.net/old_imp/article/details/8826396


一 在linux(我用的是centos系統)上安裝rsync和xinetd前先查看linux上是否已經安裝:
#rpm -qa|grep rsync

#rpm -qa|grep xinetd

若無則安裝,或者使用tar編譯安裝

#rpm -ivh rsync-2.6.8-3.1.rpm

或者

yum install rsync(這是我使用的方法)

yum  install xinetd(這是我使用的方法)


二 打開rsync服務
#chkconfig xinetd on
#chkconfig rsync on

三 在/etc/目錄下建立 rsyncd.conf 配置文件(設置成600權限)

port =  873
uid = root
gid = root
use chroot=no
read only = yes
hosts allow=*
max connextions = 4

[www] 
path = /********/****l/****
comment = BACKUP WWW
ignore errors
read noly = yes
list = no
auth users = root
hosts allow = *
secrets file = /etc/rsync.pass(文件名只是舉例,包括後綴均可以自定義)
 
配置文件中的參數含義能夠參考 http://hi.baidu.com/setcookie/item/14f9e8998ad1028858146135
 
四 建立rsync.pass文件(設置成600權限)
,也就是rsync.conf文件中secrets file 指定的路徑,輸入linux系統中存在的帳號密碼
帳號:密碼

 
五 修改etc/xinetd/rsync 文件
把disable = yes 改爲 disable = no

六 啓動基於xinetd進程的rsync服務

#/etc/init.d/xinetd start

 
七 windows機器上安裝cwrsync
 
八 打開 linux上的873端口(rsync默認使用的端口)
 
九 打開cmd 執行同步指令便可同步

h:\cwRsync\bin\rsync.exe -vzrtopgu --progress --delete root@192.168.1.3::www /cygdrive/D/test

而後就能夠看到輸入密碼的提示,輸入密碼就開始同步了。
解釋一下:

h:\cwRsync\bin\rsync.exe是rsync.exe的路徑

www就是rsync.conf文件中指定的模塊名
root@192.168.1.3是linux機器用戶名,ip

/cygdrive/D/test 的含義是備份到windows本地的D:\test路徑,其餘路徑依葫蘆畫瓢便可,好比E:\test,寫成

/cygdrive/E/test

 
十 windows客戶端設置cwRsync自動同步
創建一個.bat文件,編輯輸入如下命令內容後保存:
h:\cwRsync\bin\rsync.exe -vzrtopgu --progress --delete root@xx.xx.xx.xx::www /cygdrive/G/backup --password-file=/cygdrive/D/rsync.pass
接下來按照須要建立windows的任務計劃程序,在操做列表中添加啓動這個.bat文件的操做。
解釋:
password-file=/cygdrive/D/rsync.pass 指定了windows客戶端機器上的密碼文件位置。
windows客戶端上的密碼文件格式和linux服務端上的格式不同,只須要寫密碼便可。
若是在cmd執行以上命令能夠不輸入密碼,由於程序會自動讀取輸入的密碼文件。
 
十一安全起見有時須要更改rsync使用的端口
1把服務器上須要使用的端口打開
2修改服務器上的rsyncd.conf 配置文件
port = (要使用的端口號)
3本地客戶端連接服務器備份的口令也得修改,加入--port=(端口號)
例如:
h:\cwRsync\bin\rsync.exe -vzrtopgu  --port=(端口號) --progress --delete root@xx.xx.xx.xx::www /cygdrive/G/backup --password-file=/cygdrive/D/rsync.pass
 
十二 若是重啓了服務器,客戶端備份時出現錯誤提示Connection refused (111) 的解決辦法
完整錯誤提示:
rsync: failed to connect to 10.10.10.170: Connection refused (111) 
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5] 
解決方法:
服務端啓動服務:rsync --daemon --config=/etc/rsyncd.conf
 

  2、rsync是(限制爲 100k Bytes/s):python

  #rsync -auvzP--bwlimit=100 本地的文件 遠程的文件linux

  參數說明:windows

  v:詳細提示centos

  a:以archive模式操做,複製目錄、符號鏈接,等價於 -rlptgoD 。安全

  z:壓縮服務器

  u:只進行更新,防止本地新文件被重寫,注意二者機器的時鐘的同時cookie

  P:是綜合了--partial --progress兩個參數,socket

  因此此時的rsync支持了斷點續傳ui

 

實例 windows客戶端從linux服務端同步資料.net

rsync --port=873 --bwlimit=100 -vzrtopg --progress  --password-file=/cygdrive/d/rsyncd.passwd  funtoro@192.168.6.18::photo /cygdrive/d/rsynctest 
相關文章
相關標籤/搜索