Rsync資料同步服務
一、srync三種操作方式
1、本地間傳輸相當於cp命令
例1:將etc/hosts推送到/tmp下 rsync /etc/hosts /tmp
【1.1】資料同步
原始檔追加內容:echo “'hostname -I' www.yunjisuan.com”>> /etc/hosts
【1.2】同步資料(只同步目標檔案沒有得內容)rsync /etc/hosts /tmp
例2:目錄推送
【2.1】將根下得bent目錄推送到/tmp下 rsync -avz /root/bent /tmp
【2.1】刪除目標目錄比原目錄多於得資料 引數:--delete
刪除/tmp下多餘得資料,使目標目錄與原目錄完全一致。rsync -avz /root/bent /tmp/ --delete
特別提示:請注意以下兩條命令的差別:
【1】rsync -avz /opt/ /tmp/
【2】rsync -avz /opt /tmp/
/opt/的意思是,僅把/opt/目錄裡面的內容同步過來,opt目錄本身並不同步;而後者【2】中/opt表示把opt本身及其內部內容全都同步到/tmp下,僅一個/(斜線之差),意義大不相同,請同學們注意使用的差別。
在後邊要講的通過遠端shell進行資料傳輸的內容也會有類似的問題,請牢記。
2、遠端傳輸
準備事項:要用多臺虛擬機器。需要裝遠端傳輸得外掛包也就是ssh得遠端支援包(如果本機有scp命令則支援遠端傳輸,如果沒有則需安裝openssh-clients
)。必須知道對方root使用者得密碼。預設傳輸得是22埠,如果對方不是22埠,則需指定對方埠號進行遠端同步。遠端連線得配置檔案 /etc/ssh/sshd/config
例1:將本地伺服器得資料推送到另一臺伺服器上 rsync -avz /root/bent [email protected]:/tmp
說明: [email protected]
表示對方伺服器得登入地址 :
表示為指定對方伺服器得存放位置
3、多組伺服器之間,以socket程序得方式啟動rsync程序進行監聽
【3.1】連線原理:客戶端要告訴服務端兩點,1、要推送給配置檔案的哪個模組,服務端就會按照要求放在相應的位置。2、需要驗證每個模組下的使用者名稱和密碼。
【3.2】操作流程---服務端設定
1、手動寫rsync得配置檔案,vim/etc/rsyncd.conf
下圖為模板:
uid = rsync gid = rsync use chroot = no max connections = 200 timeout = 300 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log [backup] path = /backup/ ignore errors read only = false list=false hosts allow = 192.168.200.0/24 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password 2、建立共享目錄/backup 3、新增程式使用者 useradd -M -s /sbin/nologin rsync 4、啟動服務 rsync --daemon 5、更改共享目錄的屬主 chown -R rsync.rsync /backup 6、建立rsync虛擬賬號和密碼 echo "rsync_backup:123456" >> /etc/rsync.password 7、將賬號密碼檔案的許可權設定為600 chmod 600 /etc/rsync.psaaword 8、加入開機自啟動 echo "rsync --daemon" >> /etc/rc.local 9、關閉防火牆 service iptables stop
【3.3】操作流程---客戶端設定
1、建立密碼檔案 echo "123456" > /etc/rsync.password
2、設定密碼檔案許可權為600 chmod 600 /etc/srync.password
4、同步測試
【4.1】將客戶端指定目錄內容推送到伺服器端rsync指定目錄下 rsync -avzP /backup/ [email protected]::backup --password-file=/etc/rsync.password
命令說明:
-avz:保持穩健各項屬性不變,-v顯示同步資訊 -P顯示具體同步過程
/backup/:要推送的內容所在目錄
rsync_backup:伺服器端rsync服務的同步的使用者名稱(非Linux使用者)
192.168.197.129:rsync伺服器IP地址
backup:rsync伺服器配置檔案裡的模組名
--password-file=/etc/rsync.password:免密碼的操作,指定密碼檔案位置,如果不寫,則會要求使用者互動式輸入密碼。(如果想掛定時任務,必須得非互動式)
注意事項:
1、遠端同步時需要關閉防火牆 service iptables stop
2、重啟rsync服務的方法:
【2.1】pkill rsync
關閉
【2.2】rsync --daemon
啟動
3、rsync的socket程序監聽873埠