rsync服務器的搭建配置與測試

1.先準備好虛擬機

主機名 網卡etho 網卡eth1 用途

web01 10.0.0.7/24 172.16.1.7/24 nginxweb服務器【未來部署】

NFS01 10.0.0.31/24 172.16.1.31/24 NFS儲存服務器【未來部署】

backup 10.0.0.41/24 172.16.1.41/24 rsync儲存服務器


2.rsync在backup安裝流程

1.yum -y install rsync 安裝ysync

----------------------------------------

2.rpm -qc rsync #查看服務的配置文件

? ? /etc/rsyncd.conf

? ? /etc/sysconfig/rsyncd

------------------------------------------------

3.cp /etc/rsyncd.conf{,.bak} #備份配置文件

--------------------------------------------------

4.#配置/etc/rsyncd.conf文件

vi /etc/rsyncd.conf

uid = www

gid = www

port = 873

fake super = yes

use chroot = no

max connections = 200

timeout = 600

ignore errors

read only = false

list = false

auth users = rsync_backup

secrets file = /etc/rsync.passwd

log file = /var/log/rsyncd.log

#####################################

[backup]

comment = welcome to oldboyedu backup!

path = /backup

[data]

path = /data

--------------------------------------------

5.mkdir -p /backup #創(chuàng)建備份目錄

-----------------------------------------

? mkdir -p /data

-------------------------------------------------

6.groupadd www -g666 #創(chuàng)建用戶組

--------------------------------------------------

useradd www -u 666 -g 666 -M -s /sbin/nologin #創(chuàng)建虛擬用戶

-----------------------------------------------------------------

id www #檢測創(chuàng)建

----------------------------------------

uid=666(www) gid=666(www) 組=666(www)

-------------------------------------------------

7.chown -R www.www /backup/ #給備份目錄授權

-------------------------------------------------

chown -R www.www /data/

----------------------------------------------------

8.ll -d /backup/ /data/? ? ? 檢測創(chuàng)建? ?

67791369 drwxr-xr-x 2 www www 6 2020-01-03 21:29:20 /backup//

101465103 drwxr-xr-x 2 www www 6 2020-01-03 21:29:24 /date//

----------------------------------------------------------------

9.echo "rsync_backup:oldboy" >/etc/rsync.passwd #創(chuàng)建密碼文件

------------------------------------------------------------------

chmod 600 /etc/rsync.passwd ? #授權密碼文件

---------------------------------------------------------------

10.systemctl start rsyncd #啟動rsync服務

----------------------------------------------------

systemctl status rsyncd|grep active

Active: active (running) since 五 2020-01-03 21:36:35 CST; 21s ago

---------------------------------------------------------------------------

systemctl enable rsyncd #設置開機自啟動

3.配置內容意思


uid = www # 運行進程的用戶

gid = www # 運行進程的用戶組

port = 873 # 監(jiān)聽端口

fake super = yes # 無需讓rsync以root身份運行,允許接收文件的完整屬性

use chroot = no # 禁錮推送的數據至某個目錄, 不允許跳出該目錄

max connections = 200 # 最大連接數

timeout = 600 # 超時時間

ignore errors # 忽略錯誤信息

read only = false # 對備份數據可讀寫

list = false # 不允許查看模塊信息

auth users = rsync_backup # 定義虛擬用戶,作為連接認證用戶

secrets file = /etc/rsync.passwd # 定義rsync服務用戶連接認證密碼文件路徑

[backup] # 定義模塊信息

comment = commit # 模塊注釋信息

path = /backup # 定義接收備份數據目錄


4.客戶端操作流程

1.yum -y install rsync 安裝rsync

-------------------------------------------

2.

echo "oldboy" >/etc/rsync.passwd #創(chuàng)建密碼文件

chmod 600 /etc/rsync.passwd ? ? #授權密碼文件

3.#客戶端測試 試著推送拉取文件目錄

rsync -avz /etc/hosts root@172.16.1.41:/tmp? #推送hosts到服務端

rsync -avz -e 'ssh -p 22' root@172.16.1.41:/etc/hosts /tmp? #從服務端加密拉取hosts到本地

4.客戶端上傳數據到backup和data模塊

? ? rsync -avzP --password-file=/etc/rsync.passwd hostname.txt rsync_backup@10.0.1.41::backup

? ? rsync -avzP --password-file=/etc/rsync.passwd hostname.txt rsync_backup@10.0.1.41::data

5.客戶端下載數據到本地目錄

rsync -avzP --password-file=/etc/rsync.passwd rsync_backup@10.0.1.41::data /test/


5.擴展

1.rsync的limit限速

#企業(yè)案例: 某 DBA 使用 rsync 拉取備份數據時,由于文件過大導致內部交換機帶寬被沾滿,導致用戶的請求無法響應

export RSYNC_PASSWORD=oldboy

rsync -avz --bwlimit=1 rsync_backup@172.16.1.41::backup /data/

#限制傳輸帶寬為1MB/s

[root@nfs /test]# rsync -avzP --bwlimit=1 bigfile.txt rsync_backup@10.0.1.41::backup

sending incremental file list

bigfile.txt

? ? 92,995,584? 8%? ? 1.01MB/s? ? 0:15:51

-----------------------------------------------------

2.rsync實現無差別同步

危險,慎用!

#拉取遠端數據:遠端與本地保持一致,遠端沒有,本地有會被刪除, 造成客戶端數據丟失

? ? export RSYNC_PASSWORD=oldboy

? ? rsync -avz --delete rsync_backup@172.16.1.41::backup /data/

#推送數據至遠端:本地與遠端保持一致, 本地沒有,遠端會被刪除, 造成服務器端數據丟失

? ? export RSYNC_PASSWORD=oldboy

? ? rsync -avz --delete /data/ rsync_backup@172.16.1.41::backup

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容