[數據同步] 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同步的目錄裏創建文件 並在Windows上E盤創建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進行數據同步