day 31

1.rsync守護(hù)進(jìn)程模式備份數(shù)據(jù)原理 (用戶(hù)身份轉(zhuǎn)換過(guò)程)

第一步: 客戶(hù)端 --> 服務(wù)端 發(fā)送請(qǐng)求傳輸數(shù)據(jù)信息 執(zhí)行命令 有認(rèn)證用戶(hù)信息 傳輸數(shù)據(jù)信息
第二部: 服務(wù)端 --> 客戶(hù)端 接收到傳輸數(shù)據(jù)信息 審核認(rèn)證用戶(hù)
發(fā)送回復(fù)信息 需要認(rèn)證密碼
第三步: 客戶(hù)端 --> 服務(wù)端 發(fā)送請(qǐng)求傳輸數(shù)據(jù)信息 發(fā)送認(rèn)證密碼信息
第四步: 服務(wù)端 --> 客戶(hù)端 發(fā)送確認(rèn)信息
第五步: 客戶(hù)端 --> 服務(wù)端 用戶(hù)攜帶數(shù)據(jù)通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸 需要對(duì)用戶(hù)身份進(jìn)行轉(zhuǎn)換 --> rsync (配置文件指定)
第六部: 服務(wù)端 --> 客戶(hù)端 發(fā)送數(shù)據(jù)存儲(chǔ)完畢確認(rèn)信息 將數(shù)據(jù)保存到備份目錄中 備份目錄權(quán)限屬主為rsync
修改備份數(shù)據(jù)屬主和屬組信息 rsync用戶(hù)身份修改文件權(quán)限
錯(cuò)誤說(shuō)明:
chgrp ".hosts.Zb1kyS" (in backup) failed: Operation not permitted (1)
chgrp change group ownership(修改數(shù)據(jù)屬組信息)

[oldboy@backup ~]$ chgrp oldgirl oldboy 
chgrp: changing group of 'oldboy': Operation not permitted
[oldboy@backup ~]$ chgrp oldgirl /etc/hosts
chgrp: changing group of '/etc/hosts': Operation not permitted
解釋說(shuō)明:
普通用戶(hù)無(wú)法修改文件的屬組信息

補(bǔ)充: 配置文件參數(shù)
fake super = yes --- 讓指定虛擬用戶(hù)偽裝成管理員用戶(hù), 可以強(qiáng)行修改文件屬主屬組權(quán)限信息

2.rsync命令參數(shù)說(shuō)明

-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
歸檔模式參數(shù); 等價(jià)于 -rlptgoD
-r, --recursive recurse into directorie
遞歸傳輸目錄
-l, --links copy symlinks as symlinks
備份傳輸軟鏈接文件保持屬性不變
-L, --copy-links transform symlink into referent file/dir
備份傳輸軟連接文件時(shí),會(huì)將源文件內(nèi)容信息進(jìn)行傳輸備份
-p, --perms preserve permissions
保持權(quán)限信息不變 644 755
-t, --times preserve modification times
保持文件修改時(shí)間不變
-o, --owner preserve owner (super-user only)
保持文件屬主信息不變
-g, --group preserve group
保持文件屬組信息不變
-D same as --devices --specials
保持設(shè)備文件屬性信息不變 c b s
-v, --verbose increase verbosity
傳輸備份數(shù)據(jù)詳細(xì)過(guò)程信息
-P same as --partial --progress
傳輸進(jìn)度信息
--exclude=PATTERN exclude files matching PATTERN
根據(jù)指定數(shù)據(jù)信息進(jìn)行排除
--exclude-from=FILE read exclude patterns from FILE
根據(jù)指定文件進(jìn)行批量排除數(shù)據(jù)信息
--delete delete extraneous files from destination dirs
進(jìn)行無(wú)差異同步傳輸數(shù)據(jù)
同步目錄數(shù)據(jù)信息時(shí), 保證目錄中數(shù)據(jù)信息一模一樣
-z, --compress compress file data during the transfer
在傳輸數(shù)據(jù)時(shí),對(duì)文件進(jìn)行壓縮傳輸
--bwlimit=RATE limit socket I/O bandwidth
限制傳輸速率
--password-file 實(shí)現(xiàn)免交互傳輸數(shù)據(jù)信息

補(bǔ)充: 客戶(hù)端部署過(guò)程(rsync)

第一個(gè)里程: 創(chuàng)建生成密碼文件
echo oldboy123 >/etc/rsync.password
chmod 600 /etc/rsync.password
第二個(gè)里程: 實(shí)現(xiàn)免交互傳輸數(shù)據(jù)
rsync -avz /oldboy/oldboy.txt rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
oldboy.txt

sent 93 bytes received 43 bytes 272.00 bytes/sec
total size is 0 speedup is 0.00

3. rsync守護(hù)進(jìn)程備份服務(wù)企業(yè)應(yīng)用

守護(hù)進(jìn)程模式:
推: 客戶(hù)端 -- 數(shù)據(jù)備份 -- 備份服務(wù)器
拉: 客戶(hù)端 -- 數(shù)據(jù)恢復(fù) -- 備份服務(wù)器
服務(wù)端 -- 數(shù)據(jù)備份 -- 客戶(hù)端 (部署rsync守護(hù)進(jìn)程)

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
SRC: 備份服務(wù)器上模塊信息
DEST: 本地保存數(shù)據(jù)路徑信息

rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

企業(yè)多模塊應(yīng)用過(guò)程:
01. 守護(hù)進(jìn)程模式多模塊創(chuàng)建
第一個(gè)里程: 配置文件中創(chuàng)建多個(gè)模塊信息
[sa_backup]
comment = "backup dir by oldboy"
path = /backup/sa_dir/
[dev_backup]
comment = "backup dir by oldboy"
path = /backup/dev_dir/
[dba_backup]
comment = "backup dir by oldboy"
path = /backup/dba_dir/
第二個(gè)里程: 確認(rèn)指定模塊路徑是否存在/權(quán)限是否正確
第三個(gè)里程: 重啟rsync服務(wù)

  1. 守護(hù)進(jìn)程模式數(shù)據(jù)排除功能
    創(chuàng)建測(cè)試環(huán)境: 客戶(hù)端創(chuàng)建
    [root@nfs01 oldboy]# mkdir -p /oldboy/oldboy{01..03}
    [root@nfs01 oldboy]# touch /oldboy/oldboy{01..03}/{a..c}.txt
    [root@nfs01 oldboy]# tree /oldboy
    /oldboy
    ├── oldboy01
    │?? ├── a.txt
    │?? ├── b.txt
    │?? └── c.txt
    ├── oldboy02
    │?? ├── a.txt
    │?? ├── b.txt
    │?? └── c.txt
    └── oldboy03
    ├── a.txt
    ├── b.txt
    └── c.txt

    3 directories, 9 files

    需求01: 備份/oldboy目錄數(shù)據(jù)時(shí),將oldboy01目錄進(jìn)行排除,將oldboy03目錄中的b.txt文件進(jìn)行排除
    需求02: 備份/oldboy目錄數(shù)據(jù)時(shí),將oldboy01目錄進(jìn)行排除a.txt oldboy02/b.txt oldboy03/c.txt
    方法一: 利用rsync命令參數(shù)實(shí)現(xiàn)
    --exclude
    # rsync -avz /oldboy/ --exclude=oldboy01/ --exclude=oldboy03/b.txt rsync_backup@172.16.1.41::sa_backup --password-file=/etc/rsync.password
    sending incremental file list
    ./
    oldboy02/
    oldboy02/a.txt
    oldboy02/b.txt
    oldboy02/c.txt
    oldboy03/
    oldboy03/a.txt
    oldboy03/c.txt

    sent 420 bytes received 134 bytes 1,108.00 bytes/sec
    total size is 12,288 speedup is 22.18
    說(shuō)明: 利用--exclude排除數(shù)據(jù)信息,需要利用相對(duì)路徑指定需要排除的數(shù)據(jù),相對(duì)路徑是相對(duì)于同步目錄而言
    方法二: 利用rsync命令參數(shù)實(shí)現(xiàn):
    --exclude-from
    第一個(gè)里程: 編寫(xiě)排除數(shù)據(jù)信息文件
    [root@nfs01 oldboy]# cat execlude.txt
    oldboy01/a.txt
    oldboy02/b.txt
    oldboy03/c.txt
    第二個(gè)里程: 利用命令參數(shù)進(jìn)行排除多個(gè)數(shù)據(jù)
    [root@nfs01 oldboy]# rsync -avz /oldboy/ --exclude-from=/oldboy/execlude.txt rsync_backup@172.16.1.41::sa_backup --password-file=/etc/rsync.password
    sending incremental file list
    ./
    execlude.txt
    oldboy01/
    oldboy01/b.txt
    oldboy01/c.txt
    oldboy02/
    oldboy02/a.txt
    oldboy02/c.txt
    oldboy03/
    oldboy03/a.txt
    oldboy03/b.txt

    sent 601 bytes received 180 bytes 1,562.00 bytes/sec
    total size is 12,333 speedup is 15.79
    方法三: 利用服務(wù)端配置文件參數(shù)
    exclude --- 指定數(shù)據(jù)進(jìn)行排除同步 == 客戶(hù)端命令參數(shù) --exclude
    exclude from --- 指定多個(gè)數(shù)據(jù)排除文件信息,排除多個(gè)數(shù)據(jù) == 客戶(hù)端命令參數(shù) --exclude-from

    [sa_backup]
    comment = "backup dir by oldboy"
    path = /backup/sa_dir/
    exclude = oldboy01/a.txt oldboy02/b.txt

    [sa_backup]
    comment = "backup dir by oldboy"
    path = /backup/sa_dir/
    exclude from = /backup/sa_dir/execlude.txt
    ====================================================================
    補(bǔ)充: rsyncd.conf配置文件說(shuō)明
    全局配置: 在模塊上面配置的信息,為全局配置,會(huì)影響所有模塊
    局部配置: 在模塊里面配置的信息,為局部配置,只會(huì)影響指定模塊
    ====================================================================

    1. 守護(hù)進(jìn)程模式數(shù)據(jù)無(wú)差異同步
      --delete
      企業(yè)應(yīng)用: 保證數(shù)據(jù)同步一致 存儲(chǔ)服務(wù)器數(shù)據(jù) == 備份服務(wù)器數(shù)據(jù)
      PS: --delete參數(shù),一定要慎用,容易造成誤刪數(shù)據(jù)
  2. 守護(hù)進(jìn)程模式創(chuàng)建子目錄功能
    [root@nfs01 oldboy]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::sa_backup/oldboy/ --password-file=/etc/rsync.password
    sending incremental file list
    created directory oldboy
    hosts

    sent 219 bytes received 72 bytes 582.00 bytes/sec
    total size is 335 speedup is 1.15

  3. 守護(hù)進(jìn)程模式訪(fǎng)問(wèn)策略功能
    白名單配置/黑名單配置
    參見(jiàn)圖示

  4. 守護(hù)進(jìn)程模式列表功能說(shuō)明 (了解)
    list = false --- 可以實(shí)現(xiàn)客戶(hù)端列表顯示備份服務(wù)端所有模塊信息
    [root@nfs01 oldboy]# rsync rsync_backup@172.16.1.41::
    sa_backup "sa backup dir"
    dev_backup "dev backup dir"
    dba_backup "dba backup dir"

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

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

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