rsync備份服務(wù)器

rsync簡介

  • 1.1 rsync功能

可以實現(xiàn)增量備份,能實現(xiàn)定時或間隔同步,配合inotify或sersync,可以實現(xiàn)觸發(fā)式的實時同步。類似于scp cp rm等工具。

  • 1.2 rsync的特點

支持拷貝特殊文件如軟連接,設(shè)備等
可以有排除(tar?find?)指定文件或目錄同步的功能,相當(dāng)于打包命令tar的排除功能。
可以做到保持源文件或目錄的權(quán)限、時間、軟硬連接、屬主、組等所有屬性均不改變-p。
可以實現(xiàn)增量同步,既只同步發(fā)生變化的數(shù)據(jù),因此數(shù)據(jù)傳輸效率很高
可以使用rcp,rsh,ssh等方式來配合傳輸文件(rsync本身不對數(shù)據(jù)加密)
可以通過socker(守護進程方式)傳輸文件和數(shù)據(jù)(服務(wù)端和客戶端)
支持匿名的或認證(無需系統(tǒng)用戶)的進程模式傳輸,可實現(xiàn)方便安全的進行數(shù)據(jù)備份及鏡像 。
Rsync也相當(dāng)于ls命令

  • 1.3 rsync的三種工作模式說明

    ···
    image.png

1).本地文件系統(tǒng)上實現(xiàn)同步。命令行語法格式為上述"Local"段的格式。
(2).本地主機使用遠程shell和遠程主機通信。命令行語法格式為上述"Access via remote shell"段的格式。
(3).本地主機通過網(wǎng)絡(luò)套接字連接遠程主機上的rsync daemon。命令行語法格式為上述"Access via rsync daemon"段的格式。

前兩者的本質(zhì)是通過管道通信,即使是遠程shell。而方式(3)則是讓遠程主機上運行rsync服務(wù),使其監(jiān)聽在一個端口上,等待客戶端的連接。
但是,通過遠程shell也能臨時啟動一個rsync daemon,這不同于方式(3),它不要求遠程主機上事先啟動rsync服務(wù),而是臨時派生出rsync daemon,它是單用途的一次性daemon,僅用于臨時讀取daemon的配置文件,當(dāng)此次rsync同步完成,遠程shell啟動的rsync daemon進程也會自動消逝。此通信方式的命令行語法格式同"Access via rsync daemon",但要求options部分必須明確指定"--rsh"選項或其短選項"-e"。

2 準備配置環(huán)境

  • 2.1 準備環(huán)境

準備兩臺服務(wù)器分別為:
backup 外網(wǎng)ip:10.0.0.41 內(nèi)網(wǎng)ip:172.16.1.41
nfs01 外網(wǎng)ip: 10.0.0.31 內(nèi)網(wǎng)ip:172.16.1.31
分別在兩臺機器做好/etc/hsots解析:
vim /etc/hosts
172.16.1.31 nfs01
172.16.1.41 backup

  • 2.2更改配置文件/etc/rsycnd.conf(清空原有的)


    image.png
  • 2.3 配置服務(wù)端(backup端10.0.0.41)

    (1)創(chuàng)建虛擬用戶為了安全
    useradd -s /sbin/nologin -M rsync
    cat /etc/passwd|grep rsync
    rsync:x:1001:1001::/home/rsync:/sbin/nologin
    (2)創(chuàng)建一個目錄跟模塊中的設(shè)置成一樣的
    mkdir -p /data
    (3)授權(quán)讓rsync用戶管理這個/data
    chow -R rsync.rsync /data
    [root@backup ~]# ll -d /data
    drwxr-xr-x 4 rsync rsync 43 May 22 11:36 /data
    (4)給這個用戶設(shè)置個密碼文件(主要是為了安全)
    echo 'rsync_backup:123456' > /etc/rsync.password
    chmod 600 /etc/rsyncd.conf
    這里的的密碼文件要設(shè)置為用戶家密碼
    (5)啟動rsync服務(wù)并且加入開自己啟動(centos7)
    systemctl start rsyncd
    systemctl enable rsyncd
    netstat -luntp|grep 873

  • 2.4 配置客戶端(nfs端10.0.0.31)

echo '123456' > /etc/rsync.password
chomd 600 /etc/rsync.passwd
這里不需要配置別的只是需要配置一個密碼文件設(shè)置一個權(quán)限就行配置密碼要跟服務(wù)端的密碼一樣設(shè)置權(quán)限安全
這樣就配置玩了然后執(zhí)行rsnyc檢驗一下就OK
rsync -avz /backup/ rsync_backup@172.16.1.41::data --password-file=/etc/rsync.password
切換到服務(wù)端查看/data/目錄下面有沒有backup,有表示OK。

3 rsync 參數(shù)

rsync 參數(shù) 源 目標
-- delete 進行無差異同步
-v, --verbose --- 顯示傳輸數(shù)據(jù)過程信息
-z, --compress --- 將傳輸數(shù)據(jù)進行壓縮
-a, --archive --- 歸檔參數(shù) -rtopgDl (不包括參數(shù) -L)
-r, --recursive --- 遞歸傳輸數(shù)據(jù)
-t, --times --- 保持文件修改時間不變
-o, --owner --- 保持文件屬主信息不變(在配置文件中uid設(shè)置為root用戶)
-g, --group --- 保持文件屬組信息不變(在配置文件中g(shù)id設(shè)置為root用戶)
-p, --perms --- 保持文件權(quán)限不變
-D --- 保持設(shè)置文件信息不變
-l, --links --- 只傳輸鏈接文件,不會傳輸源文件中的內(nèi)容 (bug)
-L, --- 只傳輸鏈接文件,會傳輸源文件中的內(nèi)容
-P, --progress --- 顯示數(shù)據(jù)傳輸?shù)倪M度信息(查看傳輸進度)
-- exclude ---排除某個東西不傳輸
-- --bwlimit ----限制速度傳輸

4 scp用法以及參數(shù)

scp [參數(shù)] 源文件 目標文件
scp -rp /etc/ 192.168.1.201:/tmp
這里加參數(shù)-rp是因為scp自己本身不支持推送目錄需要參數(shù)

5 rsync報錯

(1)bash: rsync: command not found
遠程服務(wù)器中沒有這個命令
檢查遠程服務(wù)器是否安裝了rsync 沒有yum安裝即可
(2)ssh: connect to host 176.16.1.31 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.2]
遠程連接拒接 Connection refused
檢查是否能ping通對應(yīng)服務(wù)器
查看/etc/hosts解析
(3)Password:
@ERROR: auth failed on module data
rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]
密碼寫錯
密碼文件 不存在
密碼文件 權(quán)限不對

6全網(wǎng)備份項目

···
image.png

···

···
image.png

··
在把想對應(yīng)的腳本加入到定時任務(wù)就行
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容