平常運維(七)

rsync

文件同步工具 rsync安全

rsync -av /etc/passwd /tmp/1.txt
                    `-v 能夠查看過程`
rsync  -av /etc/passwd  root@192.168.100.100:/tmp/1.txt

遠程同步服務器

本機  -av  src源目錄   DEST 目標文件或者目錄
遠程  -av  SRC  user@ip:DEST
反遠程   -av  user@ip:SRC  DEST
                         -av  SRC  user@ip::DEST  
                        -av  user@ip::SRC  DEST

rsync 經常使用選項

`-a  :包含-rtplgoD選擇
`-r   :同步目錄時要加上,相似cp時的-r 選項
`-v   :同步時顯示一些信息,讓咱們知道同步的過程
`-l    :保留軟鏈接
`-L   :加上該選項後,同步軟鏈接是會把源文件給同步
`-p   :保持文件的權限屬性  prem權限
`-o   :保持文件的屬主
`-g   :保持文件的屬組
`-D   :保持設備文件信息
`-t    :保持文件的時間屬性
`- -delte  :刪除DEST中SRC沒有的文件 (保持如出一轍的)
`- -exclude :過濾指定文件,如--exclude "logs"會把文件名包含logs的文件或者目錄過濾掉,不一樣步 (支持通配符)
`-P   :顯示同步進程,好比速率,比-v更加詳細
`-u   :加上選項後,若是DEST中文件比SRC新,則不一樣步
`-z   :傳輸時壓縮 
`-e   :指定端口  -e  "ssh -p 22"
`- -port 8730 :指定端口 #rsync --port 8730 192.168.100.100::

rsync 經過ssh 方式同步傳輸
rsync -av root/test/  192.168.100.100:/tmp/test2/
rsync -av -e "ssh -p 22" test1/192.168.100.100:/tmp/1

rsync 經過服務的方式同步
要編輯配置文件 /etc/rsyncd.conf
啓動服務 rsync --daemonssh

格式:
rsync -av test1/192.168.100.100::module(模塊名)/dir(目錄)/

檢查端口是否通的命令ide

telnet 192.168.100.100 873

rsyncd.conf

兩個::冒號就是使用的rsyncd 服務 工具

port=873  #默認端口873
log file=/var/log/rsync.log  #日誌文件
pid file=/var/run/rsyncd.pid   #制定pid 文件
address=192.168.100.100  #指定啓動rsyncd服務的IP
[test]  #模塊名字
path=/tmp/rsync    #指定數據存放的路徑。
use chroot=true      #安全模式,建議設置成false,
max connections=4  #指定最大的鏈接數,默認是0,即沒有限制
read only=no    #安全選項,若是爲true,則不能上傳到該模塊指定的路徑下。
list =true   #查看服務器上可用模塊,設定爲true則列出,false則隱藏
uid=root    #指定傳輸文件時以哪一個用戶/組的身份傳輸。
gid=root
auth users=test     #指定傳輸時要使用的用戶名,能夠是nobody,最小權限用戶
secrets file =/etc/rsyncd.passwd  #鏈接須要輸入密碼
hosts allow=192.168.100.102  #定義容許鏈接白名單,加空格或者/24

rsyncd.conf , 置文件詳解

port:
指定在哪一個端口啓動 rsyncd服務,默認是873端口。

log file: 
指定日誌文件。

pid file: 
指定pid文件,這個文件的做用涉及服務的啓動、停等進程管理操做。

address:
 指定啓動rsyncd服務的IP。
 假如你的機器有多個IP就能夠指定由其中一個啓動rsy.ncd服務,若是不指定該參數,默認是在所有IP上啓動。

[ ... ]:
 指定模塊名,裏面內容自定義。

path :
指定數據存放的路徑。

use chroot = true | false: 
表示在傳輸文件前首先chroot到path參數所指定的目錄下。
這樣作的緣由是實現額外的安全防禦,但缺點是須要以roots權限,而且不能備份指向外部的符號鏈接所指向的目錄文件。
默認狀況下chroot值爲true,若是你的數據當中有軟鏈接文件,建議設置成false。

max connections:
指定最大的鏈接數,默認是0,即沒有限制。

read only ture | false: 
若是爲true,則不能上傳到該模塊指定的路徑下。

list:
表示當用戶查詢該服務器上的可用模塊時,該模塊是否被列出,設定爲true則列出,false則隱藏。
#rsync - -port 8730 192.168.100.100::   true 列出

uid / gid :
指定傳輸文件時以哪一個用戶/組的身份傳輸。

auth users: 
指定傳輸時要使用的用戶名。

secrets file: 
指定密碼文件,該參數連同上面的參數若是不指定,則不使用密碼驗證。
注意該密碼文件的權限必定要是600。格式: 用戶名:密碼

hosts allow: 
表示被容許鏈接該模塊的主機,能夠是IP或者網段,若是是多個,中間用空格隔開。
當設置了auth users和secrets file後,客戶端連服務端也須要用用戶名密碼了。
若想在命令行中帶上密碼,能夠設定一個密碼文件。

rsync-avL test@192.168.133.130::test/test  /tmp/test8/ - -password-file=/etc/pass。
其中/etc/pass內容就是一個密碼,權限要改成600

開啓服務

rsync - -daemon

關閉服務ui

killall rsync

##########killall工具要yum安裝psmisc命令行

secrets file =  指定密碼文件,該參數連同上面的參數若是不指定,則不使用密碼驗證。
注意該密碼文件的權限必定要是600。格式: 用戶名:密碼

`- -password-file=/密碼路徑
#rsync -avP - -port 8730 - -password-file=/root/passwd /etc/passwd test@192.168.100.100::huidou/3ppp

rsync 客戶端
直接寫密碼
rsync 服務端 密碼
用戶名:密碼
權限設置都爲 chmod 600 flie日誌

相關文章
相關標籤/搜索