實(shí)戰(zhàn):將web端下文件加指紋推送到backup端并發(fā)送郵件

題目要求:

所有服務(wù)器的備份目錄必須都為/backup
要備份的系統(tǒng)配置文件包括但不限于:
a) 定時任務(wù)服務(wù)的配置文件 (/var/spool/cron/root) (適合 web 和 nfs 服務(wù)器)。
b) 開機(jī)自啟動的配置文件 (/etc/rc.local) (適合 web 和 nfs 服務(wù)器)燃乍。
c) 日常腳本的目錄 (/server/scripts)
Web 服務(wù)器站點(diǎn)目錄假定為/var/html/www唆樊,如果沒有可以先模擬創(chuàng)建。
Web 服務(wù)器訪問日志路徑假定為/app/logs橘沥,如果沒有可以先模擬創(chuàng)建窗轩。
Web 服務(wù)器本地保留打包后的 7 天備份數(shù)據(jù)即可(本地留存不能多于 7 天,因?yàn)樘嘤脖P會滿) 座咆。
備份服務(wù)器 backup 上,保留最近 7 天的備份數(shù)據(jù)痢艺,同時保留 6 個月內(nèi)每周一的所有數(shù)據(jù)副本。
備份服務(wù)器上,要按照備份數(shù)據(jù)服務(wù)器的內(nèi)網(wǎng) IP 為目錄保存?zhèn)浞萁樘眨瑐浞莸奈募凑諘r間名字保存堤舒。
需要確保備份的數(shù)據(jù)盡量完整正確,在備份服務(wù)器上對備份的數(shù)據(jù)是否完整
進(jìn)行檢查哺呜。
每天早晨 8:00 把備份成功或失敗結(jié)果信息發(fā)給系統(tǒng)管理員郵箱中

all server /backup 備份目錄 統(tǒng)一服務(wù)器本地備份目錄舌缤,便于管理
all server /var/spool/cron/root 定時任務(wù)服務(wù)配置文件
all server /etc/rc.local 開機(jī)自啟動配置文件
all server /server/scripts 日常腳本目錄 統(tǒng)一服務(wù)器本地腳本目錄,便于管理
web server /var/html/wwwweb 服務(wù)器站點(diǎn)目錄 mkdir -p /var/html/www
web server /app/logsweb 服務(wù)器訪問日志路徑 mkdir –p /app/logs

解答

第一步:首先我們要先搭建好我們的環(huán)境,并且在backup端個web端測試能否推送數(shù)據(jù)国撵。
第二步:建立備份目錄/backup陵吸;
/var/spool/cron/root /etc/rc.local /server/scripts /var/html/www /app/logs 以及我們所需要備份的內(nèi)容。
第三步:模擬創(chuàng)建

[root@nfs01 ~]# mkdir -p /server/scripts
[root@web01 ~]# mkdir -p /server/scripts /var/html/www /app/logs
web01:
[root@web01 ~]# mkdir -p /backup
[root@web01 ~]# ls -ld /backup/
drwxr-xr-x 2 root root 6 4月  16 11:36 /backup/
[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   <<==打包backup目錄下以bak+日期和周開頭的壓縮包介牙。
tar: 從成員名中刪除開頭的“/”
/var/spool/cron/root
/etc/rc.local
/server/scripts/
/var/html/www/
/app/logs/

[root@web01 /]# ls /backup/ <<=== 查看我們打包的文件
bak_2019-04-16_2.tar.gz

第三步web客戶端寫腳本創(chuàng)建腳本目錄
[root@web01 /]# mkdir /server/scripts/ -p
[root@web01 /]# cd /server/scripts/
[root@web01 /server/scripts]# cat /server/scripts/bak.sh
[root@web01 /server/scripts]# cat bak.sh
第四步web客戶端編寫腳本內(nèi)容:

#!/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.打包/var/spool/cron/root /etc/rc.local /server/scripts /var/html/www /app/logs
tar zchf /backup/$IP/bak_$(date +%F_%w).tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /var/html/www /app/logs &>/dev/null &&\
#2.刪除
find /backup/ -type f -name "*.tar.gz" -mtime +7|xargs rm -f &&\
#3采集指紋
find /backup/$IP -type f -name "*.tar.gz"|xargs md5sum >/backup/$IP/$IP_$(date 
+%F).flag &&\
#4.推送
rsync -az /backup/ rsync_backup@172.16.1.41::backup &>/dev/null

[root@web01 /server/scripts]# /bin/sh /server/scripts/bak.sh <==執(zhí)行腳本
[root@web01 /server/scripts]# ls /backup/ <<==查看結(jié)果
bak_2019-04-16_2.tar.gz
第五步:web客戶端編寫我們的定時任務(wù)

[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

注:這里講一下指紋文件:
確保備份完整壮虫。
做flag和采集指紋

[root@nfs01 /server/scripts]# #采集指紋
[root@nfs01 /server/scripts]# md5sum oldboy.txt >zhiwen.log
[root@nfs01 /server/scripts]# cat zhiwen.log 
348bd3ce10ec00ecc29d31ec97cd5839  oldboy.txt
[root@nfs01 /server/scripts]# #校驗(yàn)
[root@nfs01 /server/scripts]# md5sum -c zhiwen.log 
oldboy.txt: 確定

然后去服務(wù)端/backup查看一下我們的腳本以及結(jié)果。

[root@backup /backup]# ll
總用量 8
drwxr-xr-x 2 rsync rsync 114 4月  18 20:58 172.16.1.7
-rw-r--r-- 1 root  root    0 4月  18 19:47 1.txt
-rw-r--r-- 1 root  root   51 4月  18 17:44 mail.log
-rw-r--r-- 1 rsync rsync 117 4月  15 18:36 tar.gz

數(shù)據(jù)壓縮包從web客戶端推送過來后我們要按題目要求進(jìn)行服務(wù)端操作

第一:我們先cd到/backup下查看下由服務(wù)端發(fā)來的文件

[root@backup /backup]# ls
172.16.1.7  1.txt  mail.log  tar.gz
[root@backup /backup]# cd 172.16.1.7
[root@backup /backup/172.16.1.7]# ls
2019-04-16.flag  bak_2019-04-16_2.tar.gz
2019-04-18.flag  bak_2019-04-18_4.tar.gz

可以看到所有壓縮包和加密文件都發(fā)送過來了环础,我們可以進(jìn)行腳本編輯了囚似。
第二:cd到/server/scripts下創(chuàng)建bak.sh腳本

[root@backup /server/scripts]# vim bak.sh 
#!/bin/bash
#驗(yàn)證指紋
find /backup/ -type f -name "*.flag"|xargs md5sum -c >/backup/mail.log &&\
#刪除
find /backup/ -type f -name "*.tar.gz" -mtime +180|xargs rm -f &&\
find /backup/ -type f ! -name "*_week1.tar.gz" -mtime +7|xargs rm -f &&\
find /backup/ -type f -name "*.flag" -mtime +7|xargs rm -f
#發(fā)郵件
mail -s "oldboy" liutengda_212@163.com </backup/mail.log

第三:設(shè)置定時任務(wù)發(fā)送郵件給自的郵箱liutengda_212@163.com
最后我們要進(jìn)到mail文件中把我們的郵箱信息添加到最后一行线得。

[root@backup /backup]# vim /etc/mail.rc
最后一行輸入:
set from=liutengda_212@163.com smtp=smtp.163.com smtp-auth-user=liutengda_212 s
mtp-auth-password=此處填寫執(zhí)行碼 smtp-auth=login

萬事俱備饶唤,只欠東風(fēng)了 我們執(zhí)行下服務(wù)端腳本

root@backup /backup]# cd /server/scripts/
[root@backup /server/scripts]# sh bak.sh 

最后我們綁定的郵箱就會收到來自虛擬機(jī)的郵件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贯钩,一起剝皮案震驚了整個濱河市募狂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌魏保,老刑警劉巖熬尺,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谓罗,居然都是意外死亡粱哼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門檩咱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揭措,“玉大人,你說我怎么就攤上這事刻蚯“砗” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵炊汹,是天一觀的道長躬充。 經(jīng)常有香客問我,道長讨便,這世上最難降的妖魔是什么充甚? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮霸褒,結(jié)果婚禮上伴找,老公的妹妹穿的比我還像新娘。我一直安慰自己废菱,他們只是感情好技矮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布抖誉。 她就那樣靜靜地躺著,像睡著了一般衰倦。 火紅的嫁衣襯著肌膚如雪袒炉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天耿币,我揣著相機(jī)與錄音梳杏,去河邊找鬼。 笑死淹接,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叛溢。 我是一名探鬼主播塑悼,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼楷掉!你這毒婦竟也來了厢蒜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤烹植,失蹤者是張志新(化名)和其女友劉穎斑鸦,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體草雕,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巷屿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了墩虹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘱巾。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖诫钓,靈堂內(nèi)的尸體忽然破棺而出旬昭,到底是詐尸還是另有隱情,我是刑警寧澤菌湃,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布问拘,位于F島的核電站,受9級特大地震影響惧所,放射性物質(zhì)發(fā)生泄漏骤坐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一纯路、第九天 我趴在偏房一處隱蔽的房頂上張望或油。 院中可真熱鬧,春花似錦驰唬、人聲如沸顶岸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辖佣。三九已至霹抛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間卷谈,已是汗流浹背杯拐。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留世蔗,地道東北人端逼。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像污淋,于是被迫代替她去往敵國和親顶滩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容