-環境:Linux (ubuntu16.04) + windows10html
安裝
sudo apt-get install rsync
rsync --version 查看是否已安裝, 並查看版本linux
cd /etc mkdir rsyncd vi rsyncd.conf
#告訴進程寫到 /var/run/rsyncd.pid 文件中 pid file = /var/run/rsyncd.pid lock file =/var/run/rsyncd.lock #日誌文件 log file =/var/log/rsyncd.log log format = %t %a %m %f %b syslog facility = local3 #服務器響應消息文件 motd file = /etc/rsyncd/rsyncd.motd #指定運行端口,默認是873 port = 8877 #指定服務器IP地址 可不寫默認本地 address = 192.168.56.102 #服務器端傳輸文件時,要發哪一個用戶和用戶組來執行,默認是nobody uid = root gid = root #若是"use chroot"指定爲yes,那麼rsync在傳輸文件之前首先chroot到path參數所指定的目錄下。這樣作的緣由是實現額外的安全防禦,可是缺點是須要以root權限,而且不能備份指向外部的符號鏈接所指向的目錄文件。默認狀況下chroot值爲yes use chroot = no #客戶端最多鏈接數 max connections = 5 exclude = lost+found/ transfer logging = yes timeout = 900 ignore nonreadable = yes dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 #要同步的模塊(可寫多個,並設置不一樣用戶) [test_data] #指定文件目錄所在路徑 path = /home/test #list 意思是把rsync 服務器上提供同步數據的目錄在服務器上模塊是否顯示列出來。默認是yes 。若是你不想列出來,就no ;若是是no是比較安全的,至少別人不知道你的服務器上提供了哪些目錄。你本身知道就好了 list=no #指定在 rsync 服務器上運行 delete 操做時是否忽略 I/O 錯誤。通常來講 rsync 在出現 I/O 錯誤時將將跳過 –delete 操做,以防止由於暫時的資源不足或其它 I/O 錯誤致使的嚴重問題。 ignore errors #若是爲yes,表示只讀本地文件就沒法同步到服務器 read only = no #容許鏈接的ip,在演示中使用的雲服務器就直接寫*,表示無限制 若是要規定ip或者ip段(10.1.4.0/255.255.255.0)須要進行其餘配置 hosts allow=10.1.4.0/255.255.255.0 #hosts deny=* #auth users 是必須在服務器上存在的真實的系統用戶,若是你想用多個用戶,那就以,號隔開 auth users = root #密碼存在rsyncd.passwd文件裏 secrets file = /etc/rsyncd/rsyncd.secrets
2.2 配置rsyncd.secrets文件
文件內容 username:password
文件必須設置爲只有全部者可讀寫權限 600
chmod 600 ./rsyncd.secrets
若是所屬用戶不是root 用chown修改
chown -R root ./rsyncd.secretsgit
++++++++++++++++++++++++++++++++++++++ welcome to rsync. ++++++++++++++++++++++++++++++++++++++
3.3 檢查是否啓動
ps -aux | grep rsyncgithub
檢查是否啓動端口監聽:
netstat -anp | grep rsyncspring
windows客戶端下載 提取碼:fg6hshell
注意: 密碼文件目錄, 本地目錄要用POSIX風格的寫法:
/cygdrive/f/cwRsync/rsyncd.pwd f表示F:盤ubuntu
安裝cwRsync windows客戶端windows
配置環境變量 cwRsync/bin --> path安全
在cwRsync目錄下建 密碼文件 rsyncd.pwd (保證文件只有全部者可讀寫600權限)bash
內容: 只寫密碼便可
測試拉取服務器數據到本地(前提 步驟1須要配置 在終端任何目錄方可運行):
rsync --port=8873 -avzP root@192.168.56.102::test_data /cygdrive/d/data --password-file=/cygdrive/f/cwRsync/rsyncd.pwd
① ERROR: password file must not be other-accessible
服務器跟客戶端兩邊的密碼文件都必須是 600 權限
windows10: 修改文件權限爲可讀寫, 所屬用戶只有當前登陸用戶
查看當前用戶(推薦使用cmder終端):
λ whoami desktop-2018whj\lenovo λ echo %username% Lenovo
# 使用cwRsync提供的工具 chomd.exe -c 600 /cygdrive/f/cwRsync_15110/rsync.pwd chown.exe Lenovo /cygdrive/cwRsync_15110/rsync.pwd
若是文件權限不可修改(windows10), 使用一下方法解決
經過文件右鍵查看屬性--> 安全 --> 查看用戶權限