熱點推薦:
您现在的位置: 電腦知識網 >> 電腦常識 >> 正文

Ubuntu Server Rsync服務端與Windows cwRsync客戶端實現數據同步配置

2013-11-11 16:40:08  來源: 電腦常識 

  Rsync服務端
系統Ubuntu Server
IP地址
數據存放目錄/home/mysql_data
cwRsync客戶端
系統Windows Server
IP地址
同步的目錄D:mysql_data
實現目的
cwRsync客戶端每天凌晨:鐘自動同步Rsync服務端/home/mysql_data目錄中的數據到D:mysql_data目錄
系統運維 溫馨提醒qihang原創內容版權所有轉載請注明出處及原文鏈接
Rsync服務端配置

  開啟防火牆tcp 端口(Rsync默認端口)

  說明Ubuntu默認安裝是沒有開啟任何防火牆的為了服務器的安全建議大家安裝啟用防火牆設置這裡推薦使用iptables防火牆

  whereis iptables #查看系統是否安裝防火牆

  iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man/iptablesgz #表示已經安裝iptables防火牆

  aptget install iptables #如果默認沒有安裝請運行此命令安裝防火牆

  iptables L #查看防火牆配置信息顯示如下

  Chain INPUT (policy ACCEPT)

  target prot opt source destination

  Chain FORWARD (policy ACCEPT)

  target prot opt source destination

  Chain OUTPUT (policy ACCEPT)

  target prot opt source destination

  nano /etc/iptablesdefaultrules #設置防火牆規則添加以下內容
##################################################################################################
*filter
# Allows all loopback (lo) traffic and drop all traffic to / that doesnt use lo
A INPUT i lo j ACCEPT
# Accepts all established inbound connections
A INPUT m state state ESTABLISHEDRELATED j ACCEPT
# Allows all outbound traffic
# You could modify this to only allow certain traffic
A OUTPUT j ACCEPT
# Allows HTTP and MySQLconnections from anywhere (the normal ports for websites)
A INPUT p tcp dport j ACCEPT
A INPUT p tcp dport j ACCEPT
A INPUT p tcp dport j ACCEPT
# Allows SSH connections for script kiddies
# THE dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE
A INPUT p tcp m state state NEW dport j ACCEPT
# Now you should read up on iptables rules and consider whether ssh access
# for everyone is really desired Most likely you will only allow access from certain IPs
# Allow ping
A INPUT p icmp m icmp icmptype j ACCEPT
# log iptables denied calls (access via dmesg command)
A INPUT m limit limit /min j LOG logprefix "iptables denied: " loglevel
# Reject all other inbound default deny unless explicitly allowed policy:
A INPUT j REJECT
A FORWARD j REJECT
COMMIT
##################################################################################################

  ctrl+o #保存

  ctrl+x #退出

  備注是Rsync端口

  iptablesrestore < /etc/iptablesdefaultrules #使防火牆規則生效

  nano /etc/network/ifpreupd/iptables #創建文件添加以下內容使防火牆開機啟動

  ##########################################################

  #!/bin/bash
/sbin/iptablesrestore </etc/iptablesdefaultrules

  ##########################################################

  chmod +x /etc/network/ifpreupd/iptables #添加執行權限

  安裝Rsync服務端軟件
whereis rsync #查看系統是否已安裝rsync出現下面的提示說明已經安裝
rsync: /usr/bin/rsync /usr/share/man/man/rsyncgz

  aptget install rsync #如果沒有安裝請執行這行命令來安裝rsync

  nano /etc/default/rsync #編輯配置文件

  RSYNC_ENABLE=true #把false改為true設置開機啟動rsync
ctrl+o #保存
ctrl+x #退出

  創建rsyncdconf配置文件

  nano /etc/rsyncdconf #創建配置文件添加以下代碼
log file = /var/log/rsyncdlog #日志文件位置啟動rsync後自動產生這個文件無需提前創建
[MySQL_Backup] #自定義名稱
path = /home/mysql_data #Rsync服務端數據目錄路徑
comment = MySQL_Backup #模塊名稱與[MySQL_Backup]自定義名稱相同
uid = root #設置rsync運行權限為root
gid = root #設置rsync運行權限為root
port= #默認端口
read only = no #設置為nocwRsync客戶端可上傳文件yes只讀
write only = no #設置為nocwRsync客戶端可下載文件yes不能下載
auth users = mysqlbakuser #執行數據同步的用戶名可以設置多個用英文狀態下逗號隔開
secrets file = /etc/rsyncpass #用戶認證配置文件裡面保存用戶名稱和密碼後面會創建這個文件
hosts allow = #允許進行數據同步的客戶端IP地址可以設置多個用英文狀態下逗號隔開
hosts deny = #禁止數據同步的客戶端IP地址可以設置多個用英文狀態下逗號隔開
list = yes #顯示Rsync服務端資源列表

  ctrl+o #保存

  ctrl+x #退出

  創建用戶認證文件
nano /etc/rsyncpass #配置文件添加以下內容
mysqlbakuser: #格式用戶名:密碼可以設置多個每行一個用戶名:密碼

  ctrl+o #保存
ctrl+x #退出

  設置文件權限
chmod /etc/rsyncdconf #設置文件所有者讀取寫入權限
chmod /etc/rsyncpass #設置文件所有者讀取寫入權限

  啟動rsync
/etc/initd/rsync start #啟動
service rsync stop #停止
service rsync restart #重新啟動
cwRsync客戶端設置

  下載cwRsync客戶端軟件

  下載地址

  安裝cwRsync客戶端

  解壓cwRsync__Installerzip 雙擊打開cwRsync__Installerexe

  

  Next 下一步

  

  IAgree 同意安裝

  

  Next

  

  默認安裝路徑 C:Program FilescwRsync

  Install 安裝

  

  Close 安裝完成關閉

  測試是否與Rsync服務端通信成功

  開始運行cmd

  

  輸入cd C:Program FilescwRsyncbin 回車

  

  再輸入telnet 回車

  

  出現下面的界面說明與Rsync服務端通信成功

  

  備注 C:Program FilescwRsyncbin 是指cwRsync程序安裝路徑

  cwRsync客戶端同步Rsync服務端的數據

  開始運行cmd輸入cd C:Program FilescwRsyncbin 回車

  再輸入rsync vzrtopg progress delete mysqlbakuser@::MySQL_Backup /cygdrive/d/mysql_data

  

  輸入密碼 回車

  出現下面的界面說明數據同步成功

  

  可以打開D:mysql_data 與Rsync服務端/home/mysql_data目錄中的數據對比一下查看是否相同

  

  
相關說明
d/mysql_data 代表D:mysql_data
MySQL_Backup 代表/etc/rsyncdconf文件中自定義的模塊名稱comment = MySQL_Backup
#Rsync服務端IP地址
mysqlbakuser #執行數據同步的用戶
vzrtopg progress #顯示同步過程詳細信息
delete #從cwRsync客戶端D:mysql_data目錄中刪除與Rsync服務端/home/mysql_data目錄中不相同的數據即保證兩邊的數據完全一致
在cwRsync客戶端的任務計劃中添加批處理腳本文件每天凌晨:鐘自動同步Rsync服務端/home/mysql_data目錄中的數據到D:mysql_data目錄

  打開C:Program FilescwRsyncbin目錄新建passwdtxt

  輸入

  

  保存

  繼續在C:Program FilescwRsyncbin目錄新建MySQL_Backupbat

  

  輸入
@echo off
echo
echo 開始同步數據請稍等
echo
cd C:Program FilescwRsyncbin
rsync vzrtopg port= progress delete mysqlbakuser@::MySQL_Backup /cygdrive/d/mysql_data < passwdtxt
echo
echo 數據同步完成
echo

  最後保存退出

  添加批處理腳本到Windows任務計劃

  開始設置控制面板任務計劃

  

  打開添加任務計劃下一步

  

  浏覽選擇打開C:Program FilescwRsyncbin目錄裡面的MySQL_Backupbat

  

  

  

  執行這個任務選擇每天下一步

  

  

  起始時間:

  運行這個任務每天下一步

  輸入Windows系統管理員的登錄密碼下一步

  

  

  完成

  擴展說明如果要調整同步的時間打開任務計劃裡面的MySQL_Backup

  切換到日程安排來選項設置還可以打開高級來設置每隔幾分鐘運行一次MySQL_Backupbat這個腳本

  

  

  至此Ubuntu Server Rsync服務端與Windows cwRsync客戶端實現數據同步完成


From:http://tw.wingwit.com/Article/Common/201311/8368.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.