linux集羣架構-rsync備份服務

1.什麼是備份,爲何要備份?shell

就是給源文件增長一個副本ubuntu

數據重要,防止誤操做,可以快速恢復windows

2.備份使用的方式安全

全量備份:每次都是徹底拷貝,效率低下服務器

增量備份:僅拷貝發生變化的,效率高架構

3.備份使用的工具tcp

本地備份:cp工具

遠程備份:scpui

     rsync遞歸

     sz

      rz

4.rsync 遠程同步工具

實現主機與主機之間的同步,實現增量同步。例:Linux\windows\mac

若是將rsync當一個服務來使用,則須要知道rsync是個c/s架構

5.rsync傳輸模式

(1)本地傳輸

Local:  rsync [OPTION...] SRC... [      DEST]

    命令      選項      源         目標

    rsync     -avz anaconda-ks.cfg  /tmp/

(2)遠程傳輸

上傳ush: rsync [OPTION...] SRC... [USER@]HOST:DEST

命令  選項       源   系統用戶 主機IP 目標位置

例:1.我要將我本地的那個文件,推送至那臺服務器的那個目錄,使用的是什麼用戶
 [root@backup ~]# rsync -avz ./backup_file root@172.16.1.31:/opt/
 root@172.16.1.31's password:

下載Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]

命令    選項     系統用戶 主機IP 

      命令    選項     系統用戶 主機IP  
2.我要下載那個主機的那個目錄下的文件,使用的是什麼系統用戶.  而後下載到我本地的那個位置
[root@backup ~]# rsync -avz root@172.16.1.31:/opt/backup_file   ./file.txt

root@172.16.1.31's password:    #輸入31的root密碼

注:/etc和/etc/的區別

#推送/etc/目錄下的全部文件

#推送/etc目錄以及目錄下的全部文件

Rsync藉助SSH協議同步數據存在的缺陷

1.使用系統用戶(不安全)

2.使用普通用戶權限不足

(3)守護進程:一直在後臺持續運行

Access via rsync daemon:
         Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
         Push: rsync [OPTION...] SRC... [USER@]HOST::DEST

1.安裝

yum install rsync -y

2.配置

[root@backup ~]# vi /etc/rsyncd.conf
        uid = rsync
        gid = rsync
        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

3.據配置建立一些初識環境:

3.1建立rsync用戶,rsync程序須要rsync這個用戶來運行

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

3.2虛擬用戶

    [root@backup ~]# echo "rsync_backup:123456" > /etc/rsync.passwd
            [root@backup ~]# chmod 600 /etc/rsync.passwd

3.3建立一個/backup目錄

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

4.啓動

            [root@backup ~]# systemctl start rsyncd
            [root@backup ~]# systemctl enable rsyncd

5.檢測

    [root@backup ~]# netstat -lntp | grep 873
            tcp        0      0 0.0.0.0:873       0.0.0.0:*        LISTEN    8616/rsync   

6.使用

   Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
        [root@nfs ~]# rsync -avz ./anaconda-ks.cfg  rsync_backup@172.16.1.41::backup
        
        Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
        [root@nfs ~]# rsync -avz rsync_backup@172.16.1.41::backup /opt

7.解決客戶端每次都須要使用密碼

1.設定變量RSYNC_PASSWORD

    [root@nfs ~]# export RSYNC_PASSWORD=123456
         [root@nfs ~]# rsync -avz rsync_backup@172.16.1.41::backup /opt

2.提早準備一個文件 (只有密碼的文件),  而後使用 --password-file 指定位置
          [root@nfs ~]# echo "123456" >  /etc/rsync.pass
          [root@nfs ~]# chmod 600 /etc/rsync.pass
          [root@nfs ~]# rsync -avz rsync_backup@172.16.1.41::backup /opt --password-file=/etc/rsync.pass

8.-avz 這些選項  怎麼理解?
            -a           #歸檔模式傳輸, 等於-tropgDl
            -v           #詳細模式輸出, 打印速率, 文件數量等
            -z           #傳輸時進行壓縮以提升效率
            -r           #遞歸傳輸目錄及子目錄,即目錄下得全部目錄都一樣傳輸。
            -t           #保持文件時間信息
            -o           #保持文件屬主信息
            -p           #保持文件權限
            -g           #保持文件屬組信息
            -l           #保留軟鏈接
            -D           #保持設備文件信息
            -P           #顯示同步的過程及傳輸時的進度等信息
            -L           #保留軟鏈接指向的目標文件
            -e           #使用的信道協議,指定替代rsh的shell程序
            --exclude=PATTERN   #指定排除不須要傳輸的文件模式
            --exclude-from=file #文件名所在的目錄文件
            --bwlimit=100       #限速傳輸
            --delete            #讓目標目錄和源目錄數據保持一致

9. --delete   這個參數 (讓目標目錄和源目錄數據保持一致)  危險?            #推:  源有什麼,目標就有什麼        [root@nfs ~]# rsync -avz /root/ rsync_backup@172.16.1.41::backup --delete            #拉: 目標主機有什麼, 本地就有什麼        [root@nfs ~]# rsync -avz rsync_backup@172.16.1.41::backup ./ --delete                10.--bwlimit 限速, 這個參數?   1000兆    125MB/s                 虛擬機最高的峯值  25MB/s    5MB/s    ---> 取決於實際的狀況            單位=KB        [root@nfs ~]# rsync  -avzP --bwlimit=5120  ubuntu-18.04.1-desktop-amd64.iso  rsync_backup@172.16.1.41::backup        sending incremental file list        ubuntu-18.04.1-desktop-amd64.iso   159,186,944   8%    5.12MB/s    0:05:41                11.--exclude  這個參數  --exclude-from ?                [root@nfs ~]# rsync  -avzP --exclude-from=pc.txt  rsync://192.168.0.128/yum  ./        [root@nfs ~]# cat pc.txt

相關文章
相關標籤/搜索