1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 4614字,需瀏覽 10分鐘

         ·

        2020-10-19 19:00

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


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

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

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

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

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

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

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

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




        rsync的介紹

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

        rsync的工作原理和場景

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



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



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



        • rsync異地?cái)?shù)據(jù)備份



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

        主要分成三種方式:

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

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

        • 守護(hù)進(jìn)程 (運(yùn)行一個(gè)程序在后臺(tái))


        rsync的參數(shù)介紹

        rsync參數(shù):-avz-a           #歸檔模式傳輸, 等于-tropgDl-v           #詳細(xì)模式輸出, 打印速率, 文件數(shù)量等-z           #傳輸時(shí)進(jìn)行壓縮以提高效率-r           #遞歸傳輸目錄及子目錄,即目錄下得所有目錄都同樣傳輸。-t           #保持文件時(shí)間信息-o           #保持文件屬主信息-p           #保持文件權(quán)限-g           #保持文件屬組信息-l           #保留軟連接-P           #顯示同步的過程及傳輸時(shí)的進(jìn)度等信息-D           #保持設(shè)備文件信息-L           #保留軟連接指向的目標(biāo)文件-e           #使用的信道協(xié)議,指定替代rsh的shell程序  ssh--exclude=PATTERN   #指定排除不需要傳輸?shù)奈募J?/span>--exclude-from=file #文件名所在的目錄文件--bwlimit=100       #限速傳輸--partial           #斷點(diǎn)續(xù)傳--delete            #讓目標(biāo)目錄和源目錄數(shù)據(jù)保持一致
        注意:一般我們只需要使用avz這三個(gè)參數(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)前目錄下面
        但是上述傳輸方式存在兩個(gè)問題:
        1.使用系統(tǒng)用戶(不安全) 2.使用普通用戶(會(huì)導(dǎo)致權(quán)限不足情況)

        因此,接下來,我們使用后臺(tái)進(jìn)程的方式,來進(jìn)行文件的傳輸:


        后臺(tái)服務(wù)進(jìn)程方式

        具體的命令格式如下:

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

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

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

        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       # 選項(xiàng)
        [root@backup ~]# vim /etc/rsyncd.confuid = rsync # 運(yùn)行進(jìn)程的用戶gid = rsync # 運(yùn)行進(jìn)程的用戶組port = 873 # 監(jiān)聽端口fake super = yes # 無需讓rsync以root身份運(yùn)行,允許接收文件的完整屬性use chroot = no # 禁錮推送的數(shù)據(jù)至某個(gè)目錄, 不允許跳出該目錄max connections = 200 # 最大連接數(shù)timeout = 600 # 超時(shí)時(shí)間ignore errors # 忽略錯(cuò)誤信息read only = false # 對(duì)備份數(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進(jìn)程啟動(dòng)時(shí)需要使用的用戶

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

        d.創(chuàng)建密碼文件,在密碼文件中寫入對(duì)應(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)建存儲(chǔ)備份數(shù)據(jù)的目錄,并進(jìn)行授權(quán)

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

        f.啟動(dòng)rsync服務(wù)并加入開機(jī)自啟動(dòng)

        [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.客戶端開始進(jìn)行測試
        客戶端nfs推送(注意加/ 和不加/的區(qū)別)[root@nfs ~]# rsync -avz /etc/ [email protected]::backup #推送/etc/下面的內(nèi)容[root@nfs ~]# rsync -avz /etc [email protected]::backup  #推送/etc這個(gè)目錄
        客戶端拉取[root@nfs ~]# rsync -avz [email protected]::backup /opt拉取服務(wù)端172.16.1.41的backup目錄下面的所有內(nèi)容至本地的 /opt目錄

        在上述過程中,我們需要注意下面幾點(diǎn):

        注意事項(xiàng)

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

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

        到此,使用后臺(tái)進(jìn)程的方式配置完成


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

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

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

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

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

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

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

        對(duì)傳輸時(shí)候進(jì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
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            99热这里只有精品三区在线播放 | 淫色综合一区 | 操大奶女 | 亚欧视频在线 | 欧美操逼图片 | 成人网站在线免费看 | 日韩尤物在线 | 久久人妻少妇嫩草AV蜜桃漫画 | 寡妇高潮一级片免费看 | A级毛片无码久久精品免费 |