因為需要在兩臺機器上同步一些數據,在網上找了一下,發現 cwRsync 是可以的。嘗試了一下
1、安裝
安裝的過程很簡單,也很順利,從 cwRsync 網站上下載的 server and client ,都安裝了一下,不過后來發現,其實是不需要安裝 client 的,只要 server 就可以了,server 包括了 client 的功能。安裝完 server 后,會在 service 中增加 Rsync 和 ssh 服務。
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、數據同步
因為只是最簡單的數據同步,所以就不使用 ssh 了,直接啟動 rsync 服務就可以了。然后按照 usage 上面教的。
rsync -av /cygdrive/d/test localhost::test
完成了數據的同步工作,一切順利。順便說一下,/cygdrive/d 是安裝完 cwRsync ,會自動將系統上所有的盤 mount 成 /cygdrive/x ,x 表示盤符,小寫的,并把安裝目錄 mount 成 / 了。
4、綠色安裝
我將 cwRsync copy 到另一臺機器上,試圖不安裝就啟動 cwRsync server,啟動過程比較正常,只要運行 rsync --config=$config_file --daemon --no-detach 就可以了,這里面的 $config_file 指的是前面配置的 rsyncd.conf ,路徑要寫成 /cygdrive/d 這樣的形式。
5、安裝成服務
程序包中帶了 cygwin 的 cygrunsrv ,可以通過這個命令將 rsync server 做成 windows 服務,但我試了一下,路徑中有空格沒有成功,命令是這樣的
cygrunsrv.exe -I "Rsync" -p /cygdrive/d/cwRsyncServer/bin/rsync.exe -a "--config=/cygdrive/d/cwRsyncServer/rsyncd.conf --daemon --no-detach" -f "Rsync"
也很順利的安裝成服務了。
6、問題二
慘的是當我在第二臺機器上同步數據的時候,權限卻成了問題,同步過去的文件(目錄)所有者是 SYSTEM,不是我,而且我沒有訪問的權限,只有在安全中把自己加進來(我用管理員帳戶),給自己權限,才能訪問。
或者在 cygwin 下使用 chmod 給自己授權,和在 windows 中給自己授權沒什么區別。
最后:
問題2已經解決
方法:只要把 cwRsyncServer 這個目錄 mount 到 / ,就可以了,估計是 rsync 同步數據的時候,會調用 /bin/chmod 來授權,如果是安裝版的,這個目錄會在安裝的時候 mount 好。 (好象不是這個問題了)
posted on 2007-05-20 14:36
哈哈的日子 閱讀(13880)
評論(2) 編輯 收藏 所屬分類:
Java