<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          備份數(shù)據(jù)的重要性以及rsync的基本使用

          共 4614字,需瀏覽 10分鐘

           ·

          2020-10-19 19:00

          備份數(shù)據(jù)的重要性和必要性


          為啥需要進行數(shù)據(jù)備份

          我們需要對一些比較重要的數(shù)據(jù)進行備份,防止數(shù)據(jù)的丟失

          數(shù)據(jù)備份的方式

          • 全量備份 --- 會將所有的數(shù)據(jù)進行備份,效率比較低下

          • 增量備份 --- 只是將變動的數(shù)據(jù)進行備份,效率比較高,并且適合進行異地備份

          數(shù)據(jù)備份的工具

          • scp:網(wǎng)絡(luò)之間的拷貝,全量的拷貝方式,不推薦

          • rsync:遠(yuǎn)程增量備份工具




          rsync的介紹

          rsync是linux系統(tǒng)下的數(shù)據(jù)鏡像備份工具。使用快速增量備份工具Remote Sync可以遠(yuǎn)程同步,支持本地復(fù)制,或者與其他SSH、rsync主機同步。

          rsync的工作原理和場景

          • 推:所有主機推送本地數(shù)據(jù)到Rsync備份服務(wù)器,會導(dǎo)致數(shù)據(jù)同步緩慢(適合少量的數(shù)據(jù)備份)



          • 拉:rsync備份服務(wù)端拉取所有主機上的數(shù)據(jù),會導(dǎo)致備份服務(wù)器開銷過大



          • rsync大數(shù)據(jù)量備份



          • rsync異地數(shù)據(jù)備份



          rsync數(shù)據(jù)傳輸方式

          主要分成三種方式:

          • 本地傳輸 (類似于cp命令)

          • 遠(yuǎn)程傳輸(從a主機 ----> b主機)

          • 守護進程 (運行一個程序在后臺)


          rsync的參數(shù)介紹

          rsync參數(shù):-avz-a           #歸檔模式傳輸, 等于-tropgDl-v           #詳細(xì)模式輸出, 打印速率, 文件數(shù)量等-z           #傳輸時進行壓縮以提高效率-r           #遞歸傳輸目錄及子目錄,即目錄下得所有目錄都同樣傳輸。-t           #保持文件時間信息-o           #保持文件屬主信息-p           #保持文件權(quán)限-g           #保持文件屬組信息-l           #保留軟連接-P           #顯示同步的過程及傳輸時的進度等信息-D           #保持設(shè)備文件信息-L           #保留軟連接指向的目標(biāo)文件-e           #使用的信道協(xié)議,指定替代rsh的shell程序  ssh--exclude=PATTERN   #指定排除不需要傳輸?shù)奈募J?/span>--exclude-from=file #文件名所在的目錄文件--bwlimit=100       #限速傳輸--partial           #斷點續(xù)傳--delete            #讓目標(biāo)目錄和源目錄數(shù)據(jù)保持一致
          注意:一般我們只需要使用avz這三個參數(shù)即可


          本地傳輸

          由于本地傳輸,我們一般用cp就可以了,所以本地傳輸使用rsync大材小用


          遠(yuǎn)程傳輸

          1.推送方式

          廢話不多說,直接看例子

          rsync -avz anaconda-ks.cfg [email protected]:/tmp將本地的 anaconda-ks.cfg 文件,推送到192.168.79.1的tmp目錄下面,使用的是root身份推送


          2.拉取方式

          rsync -avz  [email protected]:/tmp/services ./將遠(yuǎn)程服務(wù)器192.168.79.1的tmp目錄下面的services,拉取到當(dāng)前目錄下面
          但是上述傳輸方式存在兩個問題:
          1.使用系統(tǒng)用戶(不安全) 2.使用普通用戶(會導(dǎo)致權(quán)限不足情況)

          因此,接下來,我們使用后臺進程的方式,來進行文件的傳輸:


          后臺服務(wù)進程方式

          具體的命令格式如下:

          下載 Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]上傳 Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
          在使用上述命令格式之前,我們需要進行前期的配置,如下:

          a.先來看一下實驗環(huán)境:

          主機角色 ? ? ? ?外網(wǎng)IP(NAT) ? ? ? 內(nèi)網(wǎng)IP(LAN) ? ? ? 主機名稱?

          Rsync服務(wù)端 ? ? ? ?10.0.0.41 ? ? ? 172.16.1.41 ? ? backup?

          Rsync客戶端 ? ? ? ?10.0.0.31 ? ? ? 172.16.1.31 ? ?nfs

          b.需要在服務(wù)端安裝rsyncd服務(wù)

          yum install rsync -y

          c.配置服務(wù)

          [root@backup ~]# rpm -qc rsync    /etc/rsyncd.conf            # 主配置文件    /etc/sysconfig/rsyncd       # 選項
          [root@backup ~]# vim /etc/rsyncd.confuid = rsync # 運行進程的用戶gid = rsync # 運行進程的用戶組port = 873 # 監(jiān)聽端口fake super = yes # 無需讓rsync以root身份運行,允許接收文件的完整屬性use chroot = no # 禁錮推送的數(shù)據(jù)至某個目錄, 不允許跳出該目錄max connections = 200 # 最大連接數(shù)timeout = 600 # 超時時間ignore errors # 忽略錯誤信息read only = false # 對備份數(shù)據(jù)可讀寫list = false # 不允許查看模塊信息auth users = rsync_backup # 定義虛擬用戶,作為連接認(rèn)證用戶secrets file = /etc/rsync.passwd # 定義rsync服務(wù)用戶連接認(rèn)證密碼文件路徑
          [backup] # 定義模塊信息comment = commit # 模塊注釋信息path = /backup # 定義接收備份數(shù)據(jù)目錄

          c.創(chuàng)建rsync進程啟動時需要使用的用戶

          [root@backup ~]# useradd rsync -M -s /sbin/nologin [root@backup ~]# id rsyncuid=1000(rsync) gid=1000(rsync) groups=1000(rsync)

          d.創(chuàng)建密碼文件,在密碼文件中寫入對應(yīng)的虛擬用戶以及虛擬用戶的密碼

          /etc/rsync.passwd---》rsync虛擬用戶以及rsync虛擬用戶的密碼[root@backup ~]# echo "rsync_backup:123456" > /etc/rsync.passwd[root@backup ~]# chmod 600 /etc/rsync.passwd

          e.創(chuàng)建存儲備份數(shù)據(jù)的目錄,并進行授權(quán)

          [root@backup ~]# mkdir /backup[root@backup ~]# chown -R rsync.rsync /backup/

          f.啟動rsync服務(wù)并加入開機自啟動

          [root@backup ~]# systemctl start rsyncd.service [root@backup ~]# systemctl enable rsyncd
          檢查rsync的873端口是否存在[root@backup ~]# netstat -lntpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 11129/rsync
          g.客戶端開始進行測試
          客戶端nfs推送(注意加/ 和不加/的區(qū)別)[root@nfs ~]# rsync -avz /etc/ [email protected]::backup #推送/etc/下面的內(nèi)容[root@nfs ~]# rsync -avz /etc [email protected]::backup  #推送/etc這個目錄
          客戶端拉取[root@nfs ~]# rsync -avz [email protected]::backup /opt拉取服務(wù)端172.16.1.41的backup目錄下面的所有內(nèi)容至本地的 /opt目錄

          在上述過程中,我們需要注意下面幾點:

          注意事項

          • rsync_backup:客戶端通過該虛擬用戶連接rsync服務(wù)
            是一個虛擬用戶,由服務(wù)端的配置文件中定義【auth users】
            通常存放在指定的一個文件中,該文件也是有服務(wù)端配置文件定義【secrets file】

          • rsync:【模塊對應(yīng)的目錄,必須授權(quán)為配置文件中定義的uid和gid的用戶】
            用于運行rsync服務(wù)時需要使用到的系統(tǒng)用戶
            用于將接收到的數(shù)據(jù)以自己的身份寫入到對應(yīng)的目錄中

          到此,使用后臺進程的方式配置完成


          rsync實現(xiàn)客戶端與服務(wù)端無差異同步

          簡單點說,就是在客戶端這邊刪除了文件的話,則服務(wù)端同步的那個文件也會被刪掉

          具體實現(xiàn)的命令:

          #推送方式實現(xiàn)無差異,以客戶端為準(zhǔn),客戶端有什么服務(wù)端就有什么[root@nfs ~]# rsync -avz --delete /root [email protected]::backup        
          #拉取方式實現(xiàn)無差異,以服務(wù)端為準(zhǔn),服務(wù)端有什么客戶端就有什么[root@nfs ~]# rsync -avz --delete [email protected]::backup /opt/

          rsync 傳輸?shù)臅r候限速

          有的時候,我們傳輸文件會占滿整個帶寬,因此,為了避免這種情況,我們會對傳輸?shù)乃俣冗M行限制

          具體實現(xiàn)的命令如下:

          對傳輸時候進行限速:[root@nfs ~]# dd if=/dev/zero of=./size.disk bs=1M count=500  生成大文件
          限制傳輸?shù)乃俾蕿?MB [root@nfs ~]# rsync -avzP --bwlimit=1 ./size.disk [email protected]::backupPassword: sending incremental file listsize.disk 118,358,016 22% 1.01MB/s 0:06:33

          上述中,--bwlimit代表的就是限速,單位是MB/S

          瀏覽 55
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久国产操B视频 | 亚洲无码在线免费观看视频 | 人人摸人人操人人爽 | 国产秘 精品区二区三区日本 | 国产精品视频免费观看 |