Day 33 課堂筆記

rsync擴展

1、補充

1.實踐排除復制

環(huán)境準備:

NFS01:

[root@nfs01 ~]# mkdir /data -p

[root@nfs01 ~]# cd /data

[root@nfs01 /data]# touch {a..d}

[root@nfs01 /data]# ls

a? b? c? d

實現(xiàn):

--exclude 排除參數(shù)

例:排除 a b

[root@nfs01 /data]# rsync -avz /data/ --exclude=a --exclude=b? rsync_backup@172.16.1.41::backup

sending incremental file list

./

c

d

排除1到4

[root@nfs01 /data]# touch {1..5}

[root@nfs01 /data]# rsync -avz /data/ --exclude={1..4}? rsync_backup@172.16.1.41::backup

sending incremental file list

./

5

a

b

[root@nfs01 /data]# rsync -avz /data/ --exclude={1,3,a}? rsync_backup@172.16.1.41::backup

sending incremental file list

2

4

--exclude-from 從文件排除

[root@nfs01 /data]# rsync -avz /data/ --exclude-from=./paichu.txt? rsync_backup@172.16.1.41::backup

sending incremental file list

./

16

17

18

19

20

paichu.txt

2.實踐刪除:

rsync作為鏡像,相當于raid1,讓兩臺服務器目錄保持一致。

--delete 讓兩臺服務器目錄保持一致

推送:

rsync -avz --delete /data/? rsync_backup@172.16.1.41::backup

本地目錄有啥,遠端就有啥谤逼。

注意:遠端目錄是不是東西更多,多了東西會被刪除仇穗。提前備份backup對應的目錄流部。

rsync -avz --delete rsync_backup@172.16.1.41::backup /data/

遠端有什么。本地目錄就有什么纹坐,注意本地/data目錄枝冀。把/data改成根。提前注意備份本地/data

--partial 支持大文件斷點續(xù)傳

--bwlimit=KBPS 限速耘子。

2果漾、企業(yè)案例

某上市公司,白天高峰期某DBA人員從數(shù)據庫服務器通過rsync將上百GB數(shù)據復制到備份服務器谷誓,導致數(shù)據庫庫服務器帶寬占滿绒障,造成用戶無法訪問網站的悲劇。其實可以利用rsync限速功能捍歪,將復制速度限制在剩余帶寬的1/3或者1/2端盆,可能就不會出現(xiàn)故障了

3、rsync添加模塊

1.最簡單的實現(xiàn)费封,可以在配置文件結尾加如下內容(特殊底紋部分):

[root@backup ~]# cat /etc/rsyncd.conf

#rsync_config_______________start

#created by oldboy

#site: http://www.oldboyedu.com

uid = rsync

gid = rsync

use chroot = no

fake super = yes

max connections = 200

timeout = 600

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

[backup]

comment = welcome to oldboyedu backup.

path = /backup/

[data]? ? ? ? #<==新模塊焕妙。

path = /data/? #<==新備份目錄。

除了增加以上兩行外弓摘,讀者也可以設定更多的獨立配置參數(shù)焚鹊,例如:獨立虛擬用戶,獨立密碼文件等韧献。

2.建立目錄并授權末患。

[root@backup ~]# mkdir -p /data

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

[root@backup ~]# ls -ld /data

drwxr-xr-x 2 rsync rsync 6 4月? 16 10:04 /data

3.重啟rsync服務(只要修改配置,就考慮重載服務)

[root@backup ~]# systemctl restart rsyncd

4.從客戶端訪問測試

[root@backup ~]# ls /data

etc

4锤窑、需備份內容

1璧针、內部人員產生的數(shù)據(定時備份足矣):

程序員開發(fā)代碼(他電腦上)==>代碼服務上(git/svn代碼版本管理)==>測試環(huán)境測試===>正式環(huán)境

原則上程序代碼可以不備份。

運維人員渊啰,寫個定時任務探橱,寫個備份腳本申屹,更改或增加服務配置rsyncd.conf,需要備份

運維人員修改配置(測試服務器)==>代碼服務器上(git/svn代碼版本管理)==>測試環(huán)境測試===>正式環(huán)境

原則上運維人員的變更可以不備份隧膏。

2哗讥、用戶產生的數(shù)據(必須實時備份)

圖片、視頻等文件是放在存儲服務器上的胞枕,任意時刻都可能傳上來杆煞,必須實時備份。

文本(博客文章)腐泻,放在數(shù)據庫里决乎,,任意時刻都可能發(fā)布派桩,必須實時備份瑞驱。

5、項目實戰(zhàn)

Rsync 企業(yè)級全網備份項目

1窄坦、項目前言介紹

隨著互聯(lián)網大環(huán)境的不斷蓬勃發(fā)展,社會上各個行業(yè)都不斷轉變思路,拓展自

己的業(yè)務領域,向著互聯(lián)網企業(yè)進行轉型,轉型后的企業(yè)也在不斷擴展著自身的互

聯(lián)網架構.隨著架構不斷的擴展,架構中的服務器數(shù)量也在不斷增多凳寺,由原來的幾

臺變?yōu)閹资_鸭津,甚至幾百臺的規(guī)模。此時由于服務器數(shù)量的增多肠缨,對服務器中數(shù)

據的管理備份也隨之變的復雜逆趋,傳統(tǒng)的本地備份或簡單的 scp 復制到存儲服務器

的備份解決方案,已遠遠不能有效的解決規(guī)模壯大后的架構需求晒奕。因此急需一種

更為智能的解決方案來完成備份數(shù)據需求闻书,保證整體架構數(shù)據的安全可靠性。

2脑慧、項目需求說明

某公司里有一臺 web 服務器魄眉,里面的數(shù)據很重要,但是如果硬盤壞了闷袒,數(shù)據

就會丟失坑律,現(xiàn)在領導要求把數(shù)據做備份,這樣 web 服務器數(shù)據丟失可以進行恢復囊骤,

要求如下:

每天晚上 00 點整在 web 服務器 A 上打包備份系統(tǒng)配置文件晃择、網站程序目錄

及訪問日志并通過 rsync 命令推送到服務器 B 上備份保留(備份思路可以是先在

本地按日期打包,然后再推到備份服務器 B 上)

已知 3 臺服務器主機名分別為 web01也物、backup 宫屠、nfs01,主機信息如下

名稱外網IP內網IP主機名稱

nginx web ? ? 服務器 ? ? ? 10.0.0.7/24172.16.1.7/24web01

NFS ? ? ? ?? 存儲服務器 ?? 10.0.0.31/24172.16.1.31/24nfs01

rsync ? ? ?? 備份服務器 ?? 10.0.0.41/24172.16.1.41/24backup

3滑蚯、具體備份需求

所有服務器的備份目錄必須都為/backup

要備份的系統(tǒng)配置文件包括但不限于:

a) 定時任務服務的配置文件 (/var/spool/cron/root) (適合 web 和 nfs 服務器)浪蹂。

b) 開機自啟動的配置文件 (/etc/rc.local) (適合 web 和 nfs 服務器)抵栈。

c) 日常腳本的目錄 (/server/scripts)。

Web 服務器站點目錄假定為/var/html/www乌逐,如果沒有可以先模擬創(chuàng)建竭讳。

Web 服務器訪問日志路徑假定為/app/logs,如果沒有可以先模擬創(chuàng)建浙踢。

Web 服務器本地保留打包后的 7 天備份數(shù)據即可(本地留存不能多于 7 天绢慢,因為太多硬盤會滿)。

備份服務器 backup 上,保留最近 7 天的備份數(shù)據洛波,同時保留 6 個月內每周一的所有數(shù)據副本胰舆。

備份服務器上,要按照備份數(shù)據服務器的內網 IP 為目錄保存?zhèn)浞荩瑐浞莸奈募凑諘r間名字保存蹬挤。

需要確保備份的數(shù)據盡量完整正確缚窿,在備份服務器上對備份的數(shù)據是否完整進行檢查。

每天早晨 8:00 把備份成功或失敗結果信息發(fā)給系統(tǒng)管理員郵箱中焰扳。

服務器說明備份目錄目錄說明備注

all serve/backup備份目錄統(tǒng)一服務器本地備份目錄倦零,便于管理

all serve/var/spool/cron/roo定時任務服務配置文件

all serve/etc/rc.local開機自啟動配置文件

all serve/server/scripts日常腳本目錄統(tǒng)一服務器本地腳本目錄,便于管理

web server/var/html/wwwweb 服務器站點目錄mkdir -p /var/html/www

web server/app/logsweb 服務器訪問日志路徑mkdir –p /app/logs

解決方案

1吨悍、配置rsync服務

backup服務器配置好rsync

web01扫茅、nfs01配置好密碼

參考:參考內容

2、web01服務器配置

1.需要解決的需求

1.需要備份的文件

/var/spool/cron/root

/etc/rc.local

/server/scripts

/var/html/www

/app/logs

2.刪除7天以前的

Web 服務器本地保留打包后的 7 天備份數(shù)據即可(本地留存不能多于 7 天

3./backeup/IP

備份服務器上,要按照備份數(shù)據服務器的內網 IP 為目錄保存?zhèn)浞萦希瑐浞莸奈?/p>

件按照時間名字保存

上傳本地創(chuàng)建好以IP地址的文件即可

4.MD5校驗

需要確保備份的數(shù)據盡量完整正確葫隙,在備份服務器上對備份的數(shù)據是否完整

進行檢查

5.推送數(shù)據

將打包好的文件上傳即可

2.解決思路

在命令行執(zhí)行命令一一實現(xiàn)功能后,再將命令寫入腳本中躏仇,執(zhí)行成功后再編寫定時任務即可

1.環(huán)境準備

為虛擬環(huán)境因此需要創(chuàng)建沒有的目錄

mkdir -p /server/scripts /var/html/www /app/logs /backup

2.具體實現(xiàn)

命令行執(zhí)行打包命令:

[root@web01 /]# tar zcvhf /backup/bak_$(date +%F_%w).tar.gz /var/spool/cron/root /etc/rc.local

/server/scripts /var/html/www /app/logs

編寫腳本:

cd /server/scripts/

vim bak.sh


#!/bin/sh

export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"

export RSYNC_PASSWORD=oldboy

IP=$(hostname -i)

mkdir -p /backup/$IP

#1.打包

tar zchf /backup/$IP/bak_${IP}_$(date +%F_%w).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /var/html/www /app/logs &>/dev/null &&\

touch /backup/$IP/bak_${IP}_$(date +%F_%w).flag &&\

#采集指紋

find /backup/ -type f -name "*$(date +%F_%w).tar.gz"|xargs md5sum >/backup/$IP/bak_${IP}_$(date +%F_%w).flag &&\

#2.刪除

find /backup/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f &&\

#3.推送

rsync -az /backup/ rsync_backup@172.16.1.41::backup &>/dev/null

執(zhí)行/bin/sh /server/scripts/bak.sh

檢查backup上是否存在以本機地址的命名的文件

編寫定時任務:

[root@web01 /server/scripts]# crontab -e

[root@web01 /server/scripts]# crontab -l|tail -2

######back.....

00 00 * * * /bin/sh /server/scripts/bak.sh >/dev/null 2>&1

[root@web01 /server/scripts]# find /backup/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f

ntfs服務器的腳本配置只需要把/var/html/www /app/logs這兩個文件去掉即可

3恋脚、backup服務器配置

1.需要解決的需求

備份服務器 backup 上,保留最近 7 天的備份數(shù)據,同時保留 6 個月內每周一的所有數(shù)據副本焰手。

在備份服務器上對備份的數(shù)據是否完整進行檢查

每天早晨 8:00 把備份成功或失敗結果信息發(fā)給系統(tǒng)管理員郵箱中

2.配置郵件

yum install mailx -y

teil -1 /etc/mail.rc

set from=13088229550@163.com smtp=smtp.163.com smtp-auth-user=13088229550@163.com? smtp-auth- password=xxxx? smtp-auth=login

systemctl reatart mail

其中password的數(shù)據是授權碼

3.編寫腳本:

#!/bin/sh

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

if [ $(date +%w) -eq 1 ]

then

:

else

? ? find /backup/ -type f -name "*.tar.gz" -mtime +180|xargs rm -f &&\

? ? find /backup/ -type f -name "*_$(date +%w).tar.gz" -mtime +7|xargs rm -f

fi

find /backup -type f -name "*$(date +%F_%w).flag"|xargs md5sum -c >/tmp/fail.log

mail -s "$(date +%F_+%T)backup data error" 1771617190@qq.com </tmp/fail.log

4.檢驗

首先查看自己的郵箱是否有郵件

參考答案:https://edu.51cto.com/course/8198.html

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末糟描,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子书妻,更是在濱河造成了極大的恐慌蚓挤,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驻子,死亡現(xiàn)場離奇詭異灿意,居然都是意外死亡,警方通過查閱死者的電腦和手機崇呵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門缤剧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人域慷,你說我怎么就攤上這事荒辕『瓜” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵抵窒,是天一觀的道長弛针。 經常有香客問我,道長李皇,這世上最難降的妖魔是什么削茁? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮掉房,結果婚禮上茧跋,老公的妹妹穿的比我還像新娘。我一直安慰自己卓囚,他們只是感情好瘾杭,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哪亿,像睡著了一般粥烁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝇棉,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天讨阻,我揣著相機與錄音,去河邊找鬼银萍。 笑死,一個胖子當著我的面吹牛恤左,可吹牛的內容都是我干的贴唇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼飞袋,長吁一口氣:“原來是場噩夢啊……” “哼戳气!你這毒婦竟也來了?” 一聲冷哼從身側響起巧鸭,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瓶您,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后纲仍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呀袱,經...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年郑叠,在試婚紗的時候發(fā)現(xiàn)自己被綠了夜赵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡乡革,死狀恐怖寇僧,靈堂內的尸體忽然破棺而出摊腋,到底是詐尸還是另有隱情,我是刑警寧澤嘁傀,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布兴蒸,位于F島的核電站,受9級特大地震影響细办,放射性物質發(fā)生泄漏橙凳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一蟹腾、第九天 我趴在偏房一處隱蔽的房頂上張望痕惋。 院中可真熱鬧,春花似錦娃殖、人聲如沸值戳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堕虹。三九已至,卻和暖如春芬首,著一層夾襖步出監(jiān)牢的瞬間赴捞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工郁稍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赦政,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓耀怜,卻偏偏與公主長得像恢着,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子财破,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內容