妹子誤操作 Root 賬戶,竟將生產(chǎn)服務(wù)器整個(gè)盤(pán)文件全部刪除
今日數(shù)據(jù)至關(guān)重要,一旦誤刪,后果不堪設(shè)想。正如文中所述,Linux系統(tǒng)下若誤操作刪除命令,客戶生產(chǎn)系統(tǒng)的數(shù)據(jù)便會(huì)丟失,整個(gè)過(guò)程讓人心驚膽戰(zhàn)。
rm -rf $ORACLE_BASE/*
數(shù)據(jù)誤刪的開(kāi)端
rm -rf /*
為了卸載一款程序,我依照網(wǎng)絡(luò)上的指引執(zhí)行了命令,清除了安裝目錄。然而,我疏忽大意,誤刪了正在運(yùn)行的文件,甚至大部分的Log文件也不見(jiàn)了,僅剩那些體積過(guò)大的文件因體積龐大而未能及時(shí)刪除。這一失誤暴露出我在操作過(guò)程中可能缺乏必要的謹(jǐn)慎,或許是對(duì)Linux系統(tǒng)的刪除功能理解不夠透徹。此事也警示我們,在執(zhí)行此類(lèi)可能帶來(lái)風(fēng)險(xiǎn)的命令時(shí),必須格外留心。此次操作是在服務(wù)器上進(jìn)行的,針對(duì)一個(gè)運(yùn)行了半年多的客戶生產(chǎn)系統(tǒng),任何數(shù)據(jù)的變動(dòng)都應(yīng)格外謹(jǐn)慎處理。
這里出現(xiàn)了一個(gè)問(wèn)題,在進(jìn)行生產(chǎn)系統(tǒng)操作之前,難道沒(méi)有事先制定好全面的風(fēng)險(xiǎn)應(yīng)對(duì)計(jì)劃嗎?
問(wèn)題的嚴(yán)重性
數(shù)據(jù)誤刪被發(fā)現(xiàn)時(shí),情形變得極為嚴(yán)重。撥打電話至機(jī)房進(jìn)行磁盤(pán)檢查,卻發(fā)現(xiàn)文件已被徹底刪除。更糟糕的是,備份也出現(xiàn)了大問(wèn)題,離線備份的數(shù)據(jù)庫(kù)僅剩1KB,而且最近的正常備份已是2013年12月的事。這對(duì)急需恢復(fù)系統(tǒng)數(shù)據(jù)來(lái)說(shuō),無(wú)疑是雪上加霜。時(shí)間、精力以及各項(xiàng)成本都將因此大幅上升。
ext3grep /dev/vgdata/LogVol00 --dump-names
在這種情況下,客戶方面必然會(huì)對(duì)我們施加極大的壓力。畢竟,員工考勤記錄和手機(jī)端上報(bào)的數(shù)據(jù)直接關(guān)聯(lián)著他們的績(jī)效。這些數(shù)據(jù)的丟失,對(duì)客戶業(yè)務(wù)的沖擊不可忽視。
制定應(yīng)對(duì)計(jì)劃
ext3grep /dev/vgdata/LogVol00 --restore-all
部門(mén)領(lǐng)導(dǎo)得知情況后,迅速制定了B計(jì)劃。他們親自率領(lǐng)團(tuán)隊(duì),于周日抵達(dá)客戶所在的城市。周一,他們便與客戶的高層管理人員進(jìn)行了交流。這充分顯示了領(lǐng)導(dǎo)在緊急情況下果斷決策的能力。同時(shí),技術(shù)人員也在努力尋找解決方案,上網(wǎng)搜集資料,發(fā)現(xiàn)了一款能夠恢復(fù)被rm-rf命令刪除文件的軟件。這款軟件適用于磁盤(pán)格式ext3,并且已有不少成功的恢復(fù)案例。這無(wú)疑為問(wèn)題帶來(lái)了新的希望。
一路上觀察,從領(lǐng)導(dǎo)到技術(shù)人員,每個(gè)人都積極面對(duì)危機(jī),然而在這個(gè)過(guò)程中,所承受的壓力和緊迫感實(shí)在十分巨大。
恢復(fù)過(guò)程的曲折
ext3grep?/dev/vgdata/LogVol00?--restore-file?var/lib/mysql/aqsh/tb_b_attench.MYD
找到恢復(fù)軟件后,心中滿是喜悅,以為能輕松解決難題。打印出被刪除的文件和路徑,卻遇到了新的困擾。恢復(fù)過(guò)程不能按目錄進(jìn)行,只能全部恢復(fù),而當(dāng)前磁盤(pán)空間已經(jīng)不夠用。嘗試只恢復(fù)部分文件時(shí),成功與失敗交織,恢復(fù)的可能性變得很小。盡管如此,能恢復(fù)一點(diǎn)是一點(diǎn),將找回的文件添加到現(xiàn)有數(shù)據(jù)庫(kù)中,更改權(quán)限并重啟MySQL,但關(guān)鍵的考勤和上報(bào)數(shù)據(jù)依舊沒(méi)有找回。
處處碰壁的感覺(jué),宛如在黑暗中摸索前行,每當(dāng)我看到一線希望,現(xiàn)實(shí)卻總是將它擊碎,每一次都讓人心驚肉跳。
ext3grep /dev/vgdata/LogVol00 --dump-names >/usr/allnames.txt
其他嘗試與失敗
while read LINE
do
echo "begin to restore file " $LINE
ext3grep /dev/vgdata/LogVol00 --restore-file $LINE
if [ $? != 0 ]
then
echo "restore failed, exit"
# exit 1
fi
done < ./mysqltbname.txt
測(cè)試服務(wù)器上我繼續(xù)嘗試,先恢復(fù)了文件,接著覆蓋了數(shù)據(jù),增加了權(quán)限,又重啟了MySQL,把之前的方法又做了一遍,可結(jié)果依舊沒(méi)有成功。然后我又嘗試從幾百M(fèi)B的mysql-bin文件進(jìn)行還原,這些操作雖然看起來(lái)很常規(guī),但實(shí)際操作起來(lái)卻十分困難。這也充分說(shuō)明了數(shù)據(jù)恢復(fù)工作的復(fù)雜和艱難,沒(méi)有一種方法能夠一勞永逸地解決問(wèn)題。
身處這樣的境地,仿佛已陷入絕境,下一步該如何行動(dòng),心中真是充滿了困惑。
團(tuán)隊(duì)的力量與意外收獲
extundelete /dev/vgdata/LogVol00 --restore-directory var/lib/mysql/aqsh
幸運(yùn)的是,眾多同事紛紛伸出援手。即便他們與項(xiàng)目及事故無(wú)直接關(guān)聯(lián),也積極查閱資料、進(jìn)行測(cè)試。更有同事加班至深夜一點(diǎn)多。與此同時(shí),產(chǎn)品經(jīng)理在巨大壓力之下,并未責(zé)怪任何人,而是倡導(dǎo)大家保持冷靜,共同解決問(wèn)題。最終,作者通過(guò)FQ成功下載了一份寶貴的howto文檔。雖然這并非常規(guī)訪問(wèn)方式,但無(wú)疑為大家深入了解Linux文件系統(tǒng)提供了新的途徑。
團(tuán)隊(duì)凝聚力的重要性不言而喻,若身處其中,你是否也會(huì)像他們那樣,主動(dòng)伸出援手?
作者:小藍(lán)
鏈接:http://www.yunyix1.cn/content/3641.html
本站部分內(nèi)容和圖片來(lái)源網(wǎng)絡(luò),不代表本站觀點(diǎn),如有侵權(quán),可聯(lián)系我方刪除。