因為需要在兩臺機器上同步一些數(shù)據(jù),在網(wǎng)上找了一下,發(fā)現(xiàn) cwRsync 是可以的。嘗試了一下
1、安裝
安裝的過程很簡單,也很順利,從 cwRsync 網(wǎng)站上下載的 server and client ,都安裝了一下,不過后來發(fā)現(xiàn),其實是不需要安裝 client 的,只要 server 就可以了,server 包括了 client 的功能。安裝完 server 后,會在 service 中增加 Rsync 和 ssh 服務(wù)。
2、配置
配置了一下 rsyncd.conf
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
pid file = rsyncd.pid
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes
只是將 [test] 中的 path 改成了我本機的備份目錄
[test]
path = /cygdrive/d/backup
read only = false
transfer logging = yes
3、數(shù)據(jù)同步
因為只是最簡單的數(shù)據(jù)同步,所以就不使用 ssh 了,直接啟動 rsync 服務(wù)就可以了。然后按照 usage 上面教的。
rsync -av /cygdrive/d/test localhost::test
完成了數(shù)據(jù)的同步工作,一切順利。順便說一下,/cygdrive/d 是安裝完 cwRsync ,會自動將系統(tǒng)上所有的盤 mount 成 /cygdrive/x ,x 表示盤符,小寫的,并把安裝目錄 mount 成 / 了。
4、綠色安裝
我將 cwRsync copy 到另一臺機器上,試圖不安裝就啟動 cwRsync server,啟動過程比較正常,只要運行 rsync --config=$config_file --daemon --no-detach 就可以了,這里面的 $config_file 指的是前面配置的 rsyncd.conf ,路徑要寫成 /cygdrive/d 這樣的形式。
5、安裝成服務(wù)
程序包中帶了 cygwin 的 cygrunsrv ,可以通過這個命令將 rsync server 做成 windows 服務(wù),但我試了一下,路徑中有空格沒有成功,命令是這樣的
也很順利的安裝成服務(wù)了。
6、問題二
慘的是當(dāng)我在第二臺機器上同步數(shù)據(jù)的時候,權(quán)限卻成了問題,同步過去的文件(目錄)所有者是 SYSTEM,不是我,而且我沒有訪問的權(quán)限,只有在安全中把自己加進(jìn)來(我用管理員帳戶),給自己權(quán)限,才能訪問。
或者在 cygwin 下使用 chmod 給自己授權(quán),和在 windows 中給自己授權(quán)沒什么區(qū)別。
最后:
問題2已經(jīng)解決
方法:只要把 cwRsyncServer 這個目錄 mount 到 / ,就可以了,估計是 rsync 同步數(shù)據(jù)的時候,會調(diào)用 /bin/chmod 來授權(quán),如果是安裝版的,這個目錄會在安裝的時候 mount 好。 (好象不是這個問題了)