1. 程式人生 > >[數據同步] Linux與Windows進行數據同步

[數據同步] Linux與Windows進行數據同步

linux windows 數據同步

實驗環境

服務端:Linux Centos 6.8 (10.208.131.198)

客戶端:windows 2008 (10.208.131.199)

服務端

一、安裝rsync服務 設置開機自啟動

# yum install xinetd rsync -y
# chkconfig xinetd on
# chkconfig rsync on



二、設置rsync以服務方式運行

 # vim /etc/xinetd.d/rsync
service rsync
{
        disable = no            (默認為YES)
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}


三、啟動rsync服務 查看端口是否開啟

# service xinetd start# netstat -tanp |grep 873tcp       
0      0 :::873                      :::*                        LISTEN      1593/xinetd

四、配置rsyncd.conf (需要手工創建)

# vim /etc/rsyncd.conf
uid = root//運行RSYNC守護進程的用戶
gid = root//運行RSYNC守護進程的組
use chroot = no
pid file = /var/run/rsyncd.pid//pid文件的存放位置
lock file = /var/run/rsync.lock//鎖文件的存放位置
log file = /var/log/rsyncd.log//日誌文件的存放位置
max connections = 3//最大客戶端連接數3
stirict modes = yes//是否檢查口令的權限
port = 873//rsync默認端口
[testshare]//認證的模塊名 在客戶端需要指定
path = /share///參與同步的目錄
ignore errors//可以忽略一些無關的IO錯誤
read only = no//允許可讀可寫
list = no//不允許列出清單
hosts allow = 10.208.131.1.199//允許同步的主機 拒絕其他一切
auth users = admin//認證的用戶名
secrets file =/etc/rsyncd.pass//密碼文件存放地址


五、創建數據同步的目錄

# mkdir /share


六、創建用戶名和密碼給予權限 並重啟rsync服務

# vim /etc/rsyncd.pass
Admin:123456       //格式為 user:passwd 為一行
# chmod 600 /etc/rsyncd.pass
# chown root.root /etc/rsyncd.pass
# service xinetd restart

客戶端

一、Windows主機客戶端安裝與配置

下載地址https://www.itefix.net/cwrsync (5.5版本) 綠色版

5.5版本直接解壓 在cmd命令行下切換到bin下可以用

5.5的版本需要自己添加一個賬戶

4.0.5有服務端和客戶端版本

4.0.5客戶端版本沒有chmod和chown這兩個命令需要從服務端拷貝

5.5服務端是收費的

5.5的客戶端是有chmod和chown程序的


技術分享


服務器和客戶端賬戶和密碼必須為一致 創建賬號admin 密碼123456


技術分享

技術分享


創建同步密碼 不需要賬戶只需要密碼

新建一個文本文檔 將密碼寫入後改名為rsyncd.pass


技術分享


密碼文件在哪都可以同步的時候指定密碼文件位置就好了

給密碼文件權限進行設置

C:\Users\Administrator>D:
D:\>cd /ICW/Bin/
D:\ICW\Bin>chmod.exe -c 600 /cygdrive/d/ICW/rsyncd.pass
mode of `/cygdrive/d/ICW/rsyncd.pass‘ changed to 0600 (rw-------)
D:\ICW\Bin>chown.exe administrator /cygdrive/d/ICW/rsyncd.pass


環境變量設置

計算機屬性 --> 高級系統設置 --> 環境變量 --> 系統變量 --> Path --> 末尾添加D:\ICW\Bin;


%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\ICW\Bin;

關掉cmd命令行重新打開輸入rsync回車 會出來rsync的幫助信息 已經生效

測試是否可以同步

在Linux同步的目錄裏創建文件 並在WindowsE盤創建share目錄

C:\Users\Administrator>rsync -vzrtopg --progress [email protected]::testshare /cygdrive/e/share --password-file=/cygdrive/d/ICW/rsyncd.pass

-v 詳細模式輸出
-z, --compress 對備份的文件在傳輸時進行壓縮處理。
-r, --recursive 對子目錄以遞歸模式處理。
-t, --times 保持文件時間信息。
-o, --owner 保持文件屬主信息。
-p, --perms 保持文件權限。
-g, --group 保持文件屬組信息。
--delete 刪除目標中源文件沒有的文件或目錄
--progress 顯示備份過程。
/cygdrive/e/share E盤下的share   /cygdrive/必須加的
--password-file=rsyncd.pass  從rsyncd.pass得到密碼

計劃任務

由於設置了環境變量 直接將上邊的命令寫到文本文檔 改名為.bat或者NaNd文件 放到任務計劃裏就可以了

測試結果


技術分享


技術分享

技術分享


技術分享




本文出自 “吳鵬的博客” 博客,請務必保留此出處http://sedlock.blog.51cto.com/3030387/1968018

[數據同步] Linux與Windows進行數據同步