- 類型:服務(wù)器區(qū)大。6.1M語言:英文 評分:10.0
- 標(biāo)簽:
rsync是Linux系統(tǒng)中最好用的文件同步備份工具之一,而且可以實(shí)現(xiàn)windows和linux的文件同步,如果你的項(xiàng)目中需要進(jìn)行Windows 賀 Linux的數(shù)據(jù)同步,那么可以使用rsync +cwrsync實(shí)現(xiàn)文件同步。
在配置和實(shí)際的使用過程中遇到了很多問題,寫成了一個教程,一方面鞏固一下安裝的過程,一方面希望能夠幫助到在安裝過程中遇到同樣過程的人。
Rsync 客戶端(cwRsync) 5.4.1 官方最新版:http://elephantinaurance.com/soft/109506.html
cwRsync(Rsync for Windows)服務(wù)端&客戶端:http://elephantinaurance.com/soft/110806.html
-------------------------------------------------分割線-------------------------------------------------
安裝環(huán)境:CentOS 7
一.服務(wù)器端配置
1.安裝rsync
yum install rsync
2.配置rsync
vim /etc/rsyncd.conf (如果沒有此文件,請手動創(chuàng)建。使用 touch 或者 vim 直接編輯也是可以創(chuàng)建的)
###################################################
#下面是我的配置文件
uid = root #模塊傳輸文件時守護(hù)進(jìn)程應(yīng)該具有的uid
gid = root #模塊傳輸文件時守護(hù)進(jìn)程應(yīng)該具有的gid
#如果"use chroot"指定為true,那么rsync在傳輸文件以前首先chroot到path參數(shù)所指定的目錄下。這樣做的原因是實(shí)現(xiàn)額外的安全防護(hù),但是缺點(diǎn)是需要以roots權(quán)限,并且不能備份指向外部的符號連接所指向的目錄文件。默認(rèn)情況下chroot值為true
use chroot = no
max connections = 4 #最大連接數(shù)
pid file = /var/run/rsyncd.pid
lock file =/var/run/rsyncd.lock
log file =/var/log/rsyncd.log
#允許連接的ip,在演示中使用的云服務(wù)器就直接寫*,表示無限制 如果要規(guī)定ip或者ip段需要進(jìn)行其他配置
例如:192.168.1.0/255.255.255.0
hosts allow = *
timeout = 900 #超時設(shè)置
port = 873 #默認(rèn)端口為873
#以下為設(shè)置同步的目錄
[test]
path = /home/test #同步文件夾
#指定在 rsync 服務(wù)器上運(yùn)行 delete 操作時是否忽略 I/O 錯誤。一般來說 rsync 在出現(xiàn) I/O 錯誤時將將跳過 –delete 操作,以防止因?yàn)闀簳r的資源不足或其它 I/O 錯誤導(dǎo)致的嚴(yán)重問題。
ignore errors
read only = yes
list = yes
hosts allow = * #指定連接的ip
auth users = test #指定同步的用戶
#指定上述賬號的密碼文件,文件和拓展名可以自定義
secrets file = /etc/rsync.pass
###################################################
3.新建rsyn.pass文件
該文件主要是指定連接用戶的用戶名和密碼
格式為 name:password
需要注意的是需要修改此文件的權(quán)限否則連接時會出錯
chmod 600 /etc/rsync.pass
4.設(shè)置連接提示信息
vim /var/rsyncd.motd
5.防火墻設(shè)置
因?yàn)槭莄entos7所以采用的是firewall
firewall-cmd --zone=public --add-port=873/tcp --permanent
命令含義:
--zone #作用域
--add-port=873/tcp #添加端口,格式為:端口/通訊協(xié)議
--permanent #永久生效,沒有此參數(shù)重啟后失效
重啟防火墻
firewall-cmd --reload
6.啟動rsync
rsync --daemon --config=/etc/rsyncd.conf
--daemon表示后臺啟動 --config 表示使用對應(yīng)的配置文件
7.需要注意的是
同步文件夾需要提前創(chuàng)建,并且修改其權(quán)限
chmod 655 test
二.客戶端連接
windows機(jī)器上安裝cwrsync
到安裝目錄下執(zhí)行:
rsync.exe -vzrtopgu --progress --update test@ip::test /cygdrive/D/h
參數(shù)配置可參考官方文檔或者以下博客:
test@ip::test 前面那個test為連接用戶 ip 為服務(wù)器ip 后面那個test表示指定的模塊
/cygdrive/D/h 表示本地的同步文件夾/D/h 為同步文件夾
此時windows電腦文件夾內(nèi)容已經(jīng)和服務(wù)器同步了
如果在連接過程中遇到了問題可以參考:
http://elephantinaurance.com/html/51984_1.html
三.寫在后面
在安裝過程中困擾我最大的問題就是在服務(wù)器配置好以后一直連接不起。這次的演示環(huán)境是centos7,在自己摸索安裝時使用的系統(tǒng)是centos6.5.還是有一些不同。在centos6.5中我使用的是xinetd+rsync。但是我使用xinetd啟動時,使用的是 /etc/init.d/xinetd start
但是一直會出現(xiàn):
cwrsync rsync error rsync error: some files/attrs were not transferred
錯誤,在參考了
還是沒辦法解決。最后使用 rsync --daemon --config=/etc/rsyncd.conf 啟動時問題莫名其名就得到了解決,自己也沒有想通是為什么。所以在rsync上還需要多探索和研究。