rsync是Linux系統中最好用的檔案同步備份工具之一,而且可以實現windows和linux的檔案同步,如果你的專案中需要進行Windows 賀 Linux的資料同步,那麼可以使用rsync +cwrsync實現檔案同步。
windows和linux的檔案同步工具rsync 與cwrsync使用教程:
在配置和實際的使用過程中遇到了很多問題,寫成了一個教程,一方面鞏固一下安裝的過程,一方面希望能夠幫助到在安裝過程中遇到同樣過程的人。
Rsync 客戶端(cwRsync) 5.4.1 官方最新版:
cwRsync(Rsync for Windows)服務端&客戶端:
安裝環境:CentOS 7
一.伺服器端配置
1.安裝rsync
yum install rsync
2.配置rsync
vim /etc/ (如果沒有此檔案,請手動建立。使用 touch 或者 vim 直接編輯也是可以建立的)
###################################################
#下面是我的配置檔案
uid = root #模組傳輸檔案時守護程序應該具有的uid
gid = root #模組傳輸檔案時守護程序應該具有的gid
#如果"use chroot"指定為true,那麼rsync在傳輸檔案以前首先chroot到path引數所指定的目錄下。這樣做的原因是實現額外的安全防護,但是缺點是需要以roots許可權,並且不能備份指向外部的符號連線所指向的目錄檔案。預設情況下chroot值為true
use chroot = no
max connections = 4 #最大連線數
pid file = /var/run/
lock file =/var/run/
log file =/var/log/
#允許連線的ip,在演示中使用的雲伺服器就直接寫*,表示無限制 如果要規定ip或者ip段需要進行其他配置
例如:
hosts allow = *
timeout = 900 #超時設定
port = 873 #預設埠為873
#以下為設定同步的目錄
[test]
path = /home/test #同步資料夾
#指定在 rsync 伺服器上執行 delete 操作時是否忽略 I/O 錯誤。一般來說 rsync 在出現 I/O 錯誤時將將跳過 –delete 操作,以防止因為暫時的資源不足或其它 I/O 錯誤導致的嚴重問題。
ignore errors
read only = yes
list = yes
hosts allow = * #指定連線的ip
auth users = test #指定同步的使用者
#指定上述賬號的密碼檔案,檔案和拓展名可以自定義
secrets file = /etc/
###################################################
3.新建檔案
該檔案主要是指定連線使用者的使用者名稱和密碼
格式為 name:password
需要注意的是需要修改此檔案的許可權否則連線時會出錯
chmod 600 /etc/
4.設定連線提示資訊
vim /var/
5.防火牆設定
因為是centos7所以採用的是firewall
firewall-cmd --zone=public --add-port=873/tcp --permanent
命令含義:
--zone #作用域
--add-port=873/tcp #新增埠,格式為:埠/通訊協議
--permanent #永久生效,沒有此引數重啟後失效
重啟防火牆
firewall-cmd --reload
6.啟動rsync
rsync --daemon --config=/etc/
--daemon表示後臺啟動 --config 表示使用對應的配置檔案
7.需要注意的是
同步資料夾需要提前建立,並且修改其許可權
chmod 655 test
二.客戶端連線
windows機器上安裝cwrsync
到安裝目錄下執行:
-vzrtopgu --progress --update test@ip::test /cygdrive/D/h
引數配置可參考官方文件或者以下部落格:
test@ip::test 前面那個test為連線使用者 ip 為伺服器ip 後面那個test表示指定的模組
/cygdrive/D/h 表示本地的同步資料夾/D/h 為同步資料夾
此時windows電腦資料夾內容已經和伺服器同步了
如果在連線過程中遇到了問題可以參考:
_
三.寫在後面
在安裝過程中困擾我最大的問題就是在伺服器配置好以後一直連線不起。這次的演示環境是centos7,在自己摸索安裝時使用的系統是centos6.5.還是有一些不同。在centos6.5中我使用的是xinetd+rsync。但是我使用xinetd啟動時,使用的是 /etc/init.d/xinetd start
但是一直會出現:
cwrsync rsync error rsync error: some files/attrs were not transferred
錯誤,在參考了
還是沒辦法解決。最後使用 rsync --daemon --config=/etc/ 啟動時問題莫名其名就得到了解決,自己也沒有想通是為什麼。所以在rsync上還需要多探索和研究。