cwRsyncServer 從 windows server 2008 同步到 CentOS

20190401 從 windows server 2008 同步到 CentOS

環境構成:

服務器端:

	visualbox 虛擬機
	Windows Server2008
	192.168.1.178

客戶端 :

	visualbox 虛擬機
	CentOS 6 ( CentOS 7 也是一樣的)
	192.168.1.184

目標:

將 Windows Server2008 傷的文件服務器目錄自動同步到 CentOS 服務器上去

1、下載

https://www.backupassist.com/rsync/
選擇 cwRsyncServer_4.1.0_Installer.zip

2、安裝 cwRsyncServer

  1. 預先建立一個不同於 Administrator 的賬戶 ,例如: dhbm
    ** 安裝過程中會自動創建一個賬號,並要求設置密碼,但是,我第一次被 360 擋住之後,後續死活不成功
    ** 我第一次測試成功就是直接使用了Administrator,並使用Administrator密碼

  2. 安裝過程基本上是一路回車,除了建立賬號之外,如下圖:
    這是安裝程序自動建立的賬號,

    我後續使用了以上系統賬號才正確的,如下圖

在這裏插入圖片描述
3. 安裝完成後的信息如下:
** 建議不要使用她自動推薦的缺省目錄,例如:我使用了 c:\rsync20190401
** 如果一次不成功,下次再換個目錄測試,例如:c:\rsync20190401-1
在這裏插入圖片描述

  1. 如果第一次不成功,卸載的時候,要運行以下 3 個,最好是以下 1,2,3 的次序執行!
    在這裏插入圖片描述

    1. 以管理員身份運行 cygrunserver!
      ** 必須管理員身份,否則,在本地服務裏面找不到 Rsyncserver
      在這裏插入圖片描述
  2. 找到並設置 Rsyncserver 自動運行
    在這裏插入圖片描述

3、修改配置文件


** 安裝的時候已經自動配置好了,以下 hosts allow 可以在實際運行的時候,指定客戶端 ip

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log

# add by wzh 20190401
port = 873 #默認端口873 
uid = 0 #不指定uid,不加這一行將無法使用任何賬戶 
gid = 0 #不指定gid 
max connections = 100 #最大連接數100

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = yes
# add by wzh 20190401
lock file = rsyncd.lock

** 以上配置了一個 測試模塊 test ,後續可以照着 test 模塊建立其他需要同步的模塊

** 按照以上配置,先在 c:盤建立好一個work目錄,並 copy 幾個文件進去,用於測試

到這裏, windows 服務端就算配置好了!如果中途有修改配置,青重新啓動 Rsyncserver 服務

4、 linux 端安裝 rsync

  1. sudo yum -y install rsync

  2. su
    輸入密碼之後,以 root 運行

  3. 設置密碼文件
    假設剛纔windows 上設置了用戶 dhbm ,密碼:XXXXXXXXXX123
    實際請換成自己的密碼

     sudo echo "XXXXXXXXXX123" > /root/rsync_user.pwd
     sudo chmod 600 /root/rsync_user.pwd
    
  4. 建立一個對應服務器上剛纔的 test 模塊的 work 目錄 (名字不一定也要叫work)
    mkdir /home/dhbm/work

  5. 測試 rsync 連接

     	rsync -avz --progress --delete --password-file=/root/rsync_user.pwd [email protected]::test /home/dhbm/work	
     返回結果如下:
     	[email protected]::test /home/dhbm
     	receiving incremental file list
     	deleting .ssh/authorized_keys
     	deleting .ssh/
     	deleting .viminfo
     	deleting .bashrc
     	deleting .bash_profile
     	deleting .bash_logout
     	deleting .bash_history
     	./
     	......
    
  6. 錯誤處理 @ERROR: failed to open lock file
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [Receiver=3.1.2]

    參考 https://www.cnblogs.com/djane/articles/4618235.html
    加上 lock file = rsyncd.lock

  7. 錯誤處理 @ERROR: Unknown module ‘svndata’
    rsync error: error starting client-server protocol (code 5) at main.c(1648) [Receiver=3.1.2]

    抄寫別人的測試命令時,以上模塊名字沒有修改,記得改成自己在 windows 上設置的模塊名字 test

8.錯誤處理 cwRsyncServer執行後服務界面找不到服務
** 必須以管理員身份運行
** 可以按照前面提到的 uninstall 1,2,3 卸載後,重新來過
** 可以按照前面提到的,在安裝到另一個目錄試試

5、建立一個腳本命令自動同步

  1. 創建 sh 文件
    touch /root/rsync_data.sh
    chmod +x /root/rsync_data.sh
    vim /root/rsync_data.sh
    內容如下:

     #!/bin/bash
    
     USER="dhbm"
     PASS="/root/rsync_user.pwd"
     SOURCE="192.168.0.189::test"
     DEST="/home/dhbm/work"
     FILE="/root/rsync.log"
     CMD="/usr/bin/rsync"
     
     while true
     do
         $CMD -avz --bwlimit=512 --progress --delete --password-file=$PASS $USER@$SOURCE $DEST
         chown -R dhbm.dhbm /home/dhbm/work
     
         TIME="$(date "+%F %H:%M:%S")"
         if [ $? -eq 0 ];then
             echo "$TIME ---> rsync success" >> $FILE
         else
             echo "$TIME ---> rsync failed" >> $FILE
         fi
     
         sleep 20
     done
    
  2. 執行 腳本
    cd /root
    ./rsync_data.sh

  3. 再打開一個 Terminal ,看看是否已經同步了 windows 上的 c:/work 的文件

  4. 在 widnows 端,往 c:/work 拖入幾個新文件,同時觀察 Centos 這邊是否立即同步過來

  5. 確認服務是否已經運行
    ps -ef |grep rsync
    root 3846 3833 0 17:46 tty1 00:00:00 /bin/bash ./rsync_data.sh
    root 3847 3846 0 17:46 tty1 00:00:01 /usr/bin/rsync -avz --bwlimit=512 --progress --delete --password-file=/root/rsync_user.pwd [email protected]::upload /home/dhbm/upload
    root 3848 3847 4 17:46 tty1 00:11:31 /usr/bin/rsync -avz --bwlimit=512 --progress --delete --password-file=/root/rsync_user.pwd [email protected]::upload /home/dhbm/upload
    dhbm 4010 3990 0 22:31 pts/0 00:00:00 grep --color=auto rsync

6、Centos 上設置 rsync 服務自動運行

6、查看活動log

su 之後以 root 身份查看
cd /root
cat rsync.log
或者 tail rsync.log

或者
sudo cat /root/rsync.log

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章