rsync.conf詳解


1、在服務端編輯配置文件
  1. [root@game_intf ~]# more /etc/rsyncd.conf 
  2. port=8730
  3. log file=/var/log/rsync.log
  4. pid file=/var/run/rsync.pid
  5. [abc]
  6. path=/tmp/123
  7. use chroot=yes
  8. max nonections=4
  9. read only=yes
  10. list=yes
  11. uid=root
  12. gid=root
  13. auth users=abc
  14. secrets file=/etc/rs.passwd
復制代碼
說明:
配置文件 /etc/rsyncd.conf ,內容如下:
#port=873        #監聽端口默認為873,也可以是別的端口
log file=/var/log/rsync.log  #指定日志
pid file=/var/run/rsyncd.pid  #指定pid
#address=192.168.0.10  #可以定義綁定的ip
以上部分為全局配置部分,以下為模塊內的設置
[abc]    #為模塊名,自定義
path=/tmp/123   # 指定該模塊對應在哪個目錄下
use chroot=true #是否限定在該目錄下,默認為true,當有軟連接時,需要改為fasle,如果為true就限定為模塊默認目錄
max connections=4  # 指定最大可以連接的客戶端數
read only=no #是否為只讀,如果是no的話,客服端推送給服務端的時候不成功,這時候要改成yes
list=true #是否可以列出模塊名    rsync --port 8730   172.16.37.139::  如果為yes的話會列出客戶端所有的模塊名字。  
uid=root #以哪個用戶的身份來傳輸   
gid=root  #以哪個組的身份來傳輸
auth users=test #指定驗證用戶名,可以不設置,不設置默認不用密碼,設置的話安全性更高點
secrets file=/etc/rsyncd.passwd #指定密碼文件,如果設定驗證用戶,這一項必須設置,設定密碼權限為400.
hosts allow=192.168.0.101 #設置可以允許訪問的主機,可以是網段,多個Ip地址用空格隔開
密碼文件/etc/rsyncd.passwd的內容格式為:username:password 
啟動服務的命令是:rsync --daemon 
默認去使用/etc/rsyncd.conf這個配置文件,也可以指定配置文件 rsync --daemon --config=/etc/rsyncd2.conf,更改配置文件不用重啟服務,即時生效。 


2、在客戶端保存服務端的密碼文件權限為400,以便腳本使用。
  1. [root@game_app ~]# more /etc/123.pass 
  2. abc123
復制代碼
3、把客戶端的123文件下的內容放到服務端,這是服務端的read-only 要改成no,否則上傳不成功。
  1. [root@game_app ~]# rsync -avPz  --port 8730 123/  --password-file=/etc/123.pass  abc@172.16.37.139::abc 
  2. sending incremental file list
  3. ./
  4. anaconda-ks.cfg
  5.         1338 100%    0.00kB/s    0:00:00 (xfer#1, to-check=1/3)
  6. install.log
  7.        49733 100%   11.86MB/s    0:00:00 (xfer#2, to-check=0/3)
  8. sent 12379 bytes  received 49 bytes  24856.00 bytes/sec
  9. total size is 51071  speedup is 4.11
復制代碼
4、在客戶端查看服務端的模塊名字,無需密碼
  1. [root@game_app ~]# rsync --port 8730 172.16.37.139::
  2. abc
復制代碼
5、服務端不需要同步給客戶端的文件,加上--exclude=filename
  1. [root@game_intf 123]# rsync -avzP  --exclude=install.log --exclude=2 /tmp/123/ itv@172.16.37.140:/home/itv/123 
  2. itv@172.16.37.140's password: 
  3. sending incremental file list
  4. ./
  5. 3231231
  6.            0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=3/5)
  7. anaconda-ks.cfg
  8.         1338 100%    0.00kB/s    0:00:00 (xfer#2, to-check=2/5)
  9. as
  10.            0 100%    0.00kB/s    0:00:00 (xfer#3, to-check=1/5)
  11. ppppppp/
  12. sent 1057 bytes  received 76 bytes  151.07 bytes/sec
  13. total size is 1338  speedup is 1.18
復制代碼
6、rsync 參數選項詳解。
  1. -a, --archive 歸檔模式,表示以遞歸方式傳輸文件,並保持所有文件屬性,等於-rlptgoD
  2. -r, --recursive 對子目錄以遞歸模式處理
  3. -l, --links 保留軟鏈結
  4. -p, --perms 保持文件權限
  5. -t, --times 保持文件時間信息
  6. -o, --owner 保持文件屬主信息
  7. -g, --group 保持文件屬組信息
  8. -D, --devices 保持設備文件信息
  9. --delete 刪除那些DST中SRC沒有的文件   。 會把目的文件中沒有的文件刪掉
  10. --delete-excluded 同樣刪除接收端那些被該選項指定排除的文件
  11. --delete-after 傳輸結束以后再刪除
  12. --exclude=PATTERN 指定排除不需要傳輸的文件模式
  13. -P 等同於 --partial --progress 顯示備份過程
  14. -u, --update 僅僅進行更新,也就是跳過所有已經存在於DST,並且文件時間晚於要備份的文件,不覆蓋更新的文件
復制代碼
7、
a、如果對端機器走的不是默認22端口的話,同步時候要加上 -e "ssh -p port"
  1. [root@game_intf 123]# rsync -avzP -s "ssh -p 22" /tmp/123/ itv@172.16.37.140:/home/itv/123 
復制代碼
b、如果是創建秘鑰對,機器互相信任,需要加上 "--rsh=ssh -p port” 
rsync -av "--rsh=ssh -p port”  /dir1/ 192.168.0.101:/tmp/dir2/ 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM