服務(wù)器托管維護(hù)必須與生產(chǎn)環(huán)境良好隔離
發(fā)布時(shí)間:2020-01-08 點(diǎn)擊數(shù):6306
服務(wù)器托管用戶(hù)將在常規(guī)維護(hù)期間使用某些技術(shù)來(lái)備份服務(wù)器中的數(shù)據(jù)。但是,為了使備份數(shù)據(jù)與服務(wù)器中的數(shù)據(jù)實(shí)時(shí)同步,許多運(yùn)維人員經(jīng)常在執(zhí)行維護(hù)時(shí)不采取隔離措施。措施。通常,這種方法不會(huì)意外發(fā)生,但是以下事件為IDC行業(yè)的運(yùn)維人員敲響了警鐘。
這樣的事情Marco Marsala是一家小型托管公司的所有者,他的業(yè)務(wù)是為客戶(hù)提供托管。但是他最近遇到了一個(gè)巨大的問(wèn)題:由于腳本錯(cuò)誤,他不小心刪除了客戶(hù)的所有數(shù)據(jù)。更糟糕的是,由于Bash腳本代碼包含未定義的變量“ rm -rf {foo} / {bar}”,即使備份也消失了!
在談?wù)撨@個(gè)問(wèn)題之前,讓我們進(jìn)入流行的科學(xué),看看rm -rf命令是什么。
rm是刪除linux系統(tǒng)下文件的命令-r表示刪除此目錄下的所有內(nèi)容,allf表示用戶(hù)無(wú)需確認(rèn),它是直接執(zhí)行的類(lèi)型。通常,此命令用于指定一個(gè)文件夾來(lái)說(shuō)明rm -rf / home / test /
這意味著刪除/ home / test /文件夾下的所有內(nèi)容。但是,如果在后面添加了文件夾路徑......... rm -rf /后綴,則意味著整個(gè)服務(wù)器數(shù)據(jù)將全部刪除。
當(dāng)然,這個(gè)小兄弟還不夠愚蠢,無(wú)法直接執(zhí)行此變態(tài)命令。小弟弟說(shuō)他當(dāng)時(shí)正在運(yùn)行BASH腳本,但是腳本中似乎存在一個(gè)問(wèn)題,該問(wèn)題導(dǎo)致執(zhí)行delete命令時(shí)參數(shù)刪除指定的文件夾。上……
我還是不明白讓我舉一個(gè)簡(jiǎn)單的例子。現(xiàn)在,我要求張三刪除計(jì)算機(jī)上名為“ game”的文件夾的內(nèi)容。我=那個(gè)不幸的程序兄弟,張三=一個(gè)程序腳本。我最初給張三的指示是刪除計(jì)算機(jī)上名為game的文件夾的內(nèi)容。結(jié)果,張三可能不明白我的意思,或者忽略了我給出的說(shuō)明,并在整個(gè)計(jì)算機(jī)上給了我一切。文件夾被刪除。
我很遺憾,兄弟再次表示,為了進(jìn)行維護(hù),他還在該服務(wù)器上安裝了遠(yuǎn)程備份驅(qū)動(dòng)器,因此所有內(nèi)容都被刪除了。
你認(rèn)為這一切都結(jié)束了嗎? Ansible上錯(cuò)誤的代碼設(shè)計(jì)沒(méi)有任何后續(xù)錯(cuò)誤。此Linux實(shí)用程序用于在多個(gè)不同服務(wù)器上自動(dòng)執(zhí)行腳本。
開(kāi)發(fā)人員進(jìn)一步解釋說(shuō),實(shí)際參數(shù)應(yīng)為“ rm -rf {foo} / {bar}”。 foo和bar是在腳本中動(dòng)態(tài)傳遞的兩個(gè)變量。但是,由于變量處理中的錯(cuò)誤,常規(guī)語(yǔ)法無(wú)法在bash命令中成功內(nèi)插,因此最終指令變成了可怕的“ rm -rf /”。 “ Rm -rf /”表示無(wú)需詢(xún)問(wèn)就擦除根路徑“ /”下安裝的所有內(nèi)容。
這些數(shù)據(jù)最初可以恢復(fù)(只是時(shí)間問(wèn)題)。但是,由于無(wú)法將生產(chǎn)環(huán)境與備份環(huán)境正確隔離,因此備份文件無(wú)所適從。

在談?wù)撨@個(gè)問(wèn)題之前,讓我們進(jìn)入流行的科學(xué),看看rm -rf命令是什么。
rm是刪除linux系統(tǒng)下文件的命令-r表示刪除此目錄下的所有內(nèi)容,allf表示用戶(hù)無(wú)需確認(rèn),它是直接執(zhí)行的類(lèi)型。通常,此命令用于指定一個(gè)文件夾來(lái)說(shuō)明rm -rf / home / test /
這意味著刪除/ home / test /文件夾下的所有內(nèi)容。但是,如果在后面添加了文件夾路徑......... rm -rf /后綴,則意味著整個(gè)服務(wù)器數(shù)據(jù)將全部刪除。
當(dāng)然,這個(gè)小兄弟還不夠愚蠢,無(wú)法直接執(zhí)行此變態(tài)命令。小弟弟說(shuō)他當(dāng)時(shí)正在運(yùn)行BASH腳本,但是腳本中似乎存在一個(gè)問(wèn)題,該問(wèn)題導(dǎo)致執(zhí)行delete命令時(shí)參數(shù)刪除指定的文件夾。上……
我還是不明白讓我舉一個(gè)簡(jiǎn)單的例子。現(xiàn)在,我要求張三刪除計(jì)算機(jī)上名為“ game”的文件夾的內(nèi)容。我=那個(gè)不幸的程序兄弟,張三=一個(gè)程序腳本。我最初給張三的指示是刪除計(jì)算機(jī)上名為game的文件夾的內(nèi)容。結(jié)果,張三可能不明白我的意思,或者忽略了我給出的說(shuō)明,并在整個(gè)計(jì)算機(jī)上給了我一切。文件夾被刪除。
我很遺憾,兄弟再次表示,為了進(jìn)行維護(hù),他還在該服務(wù)器上安裝了遠(yuǎn)程備份驅(qū)動(dòng)器,因此所有內(nèi)容都被刪除了。
你認(rèn)為這一切都結(jié)束了嗎? Ansible上錯(cuò)誤的代碼設(shè)計(jì)沒(méi)有任何后續(xù)錯(cuò)誤。此Linux實(shí)用程序用于在多個(gè)不同服務(wù)器上自動(dòng)執(zhí)行腳本。
開(kāi)發(fā)人員進(jìn)一步解釋說(shuō),實(shí)際參數(shù)應(yīng)為“ rm -rf {foo} / {bar}”。 foo和bar是在腳本中動(dòng)態(tài)傳遞的兩個(gè)變量。但是,由于變量處理中的錯(cuò)誤,常規(guī)語(yǔ)法無(wú)法在bash命令中成功內(nèi)插,因此最終指令變成了可怕的“ rm -rf /”。 “ Rm -rf /”表示無(wú)需詢(xún)問(wèn)就擦除根路徑“ /”下安裝的所有內(nèi)容。
這些數(shù)據(jù)最初可以恢復(fù)(只是時(shí)間問(wèn)題)。但是,由于無(wú)法將生產(chǎn)環(huán)境與備份環(huán)境正確隔離,因此備份文件無(wú)所適從。
實(shí)際上,許多運(yùn)維人員都會(huì)使用一些工具進(jìn)行維護(hù)。但是,在很大程度上,托管操作和維護(hù)人員的服務(wù)器不知道這些工具的原始代碼是否存在錯(cuò)誤,以及這些錯(cuò)誤是否會(huì)為用戶(hù)提供主機(jī)數(shù)據(jù)。達(dá)到毀滅性的效果。因此,用戶(hù)在執(zhí)行維護(hù)時(shí)最好隔離備份數(shù)據(jù)。
全網(wǎng)數(shù)據(jù)為大家提供專(zhuān)業(yè)的深圳服務(wù)器托管,深圳服務(wù)器租用,深圳主機(jī)托管,云服務(wù)器租用等國(guó)內(nèi)外服務(wù)器資源,詳情可咨詢(xún)客服了解。