成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

作為一名運維俠,如何瀟灑的刪庫跑路?

新聞
一說到故障,運維人員總會化身“背鍋俠”,這次運維又闖禍了......

9 月 19 日下午,據微博網友大佬坊間八卦爆料,順豐的一個工程師手誤把線上系統一個庫刪除了,然后跑路了。

??

??

 

根據郵件內容,事件詳情如下:

在接到該變更需求后,按照操作流程要求,登陸生產數據庫跳轉機,通過 navicat-mysql 客戶端管理工具,連入 SHIVA-OMCS 的 RUSS 庫進行操作。

但在操作過程中,該運維發現選錯了 RUSS 數據庫,打算刪除執行的 sql。

在選定刪除時,因其操作不嚴謹,光標回跳到 RUSS 庫的實例上,在未看清所選內容的情況下,便通過 delete 執行刪除,同時,他忽略了彈窗提示,直接回車,導致 RUSS 庫被刪除。

因運維人員工作不嚴謹的操作,導致 OMCS 運營監控系統發生故障,該系統上臨時車線上發車功能無法使用并持續約 590 分鐘。同比 9 月 5 日的 929 條臨時車需求,此次故障對業務產生了嚴重的負面影響。

??

??

 

根據順豐規定,予以開除,并通報公司批評。此外,據說該員工任職順豐科技 IT 數據中心應用交付技術部互聯網產品運維組,職務 IT 運維開發高級工程師。

如何看待順豐工程師誤刪公司數據庫被開除一事?

目前,此事已經在圈內傳開了,各路網友開始吐槽:

??

??

??

??

 

有幸災樂禍調侃型的:不如,rm -f / 刺激。

??

??

 

也有人調侃稱:刪的時候肯定很激動!

??

??

 

還有人調侃:付出如此巨大的代價,培養起了一個運維工程師的安全意識,然后竟然把他開除了?

??

??

 

最后就是關于是否備份的討論:

??

??

 

不過最狠的還是屬這一條,反手丟給你一本 MySQL 從刪庫到跑路:

??

??

 

看看有沒有什么后路好走啊哥們:國內呆不下了,趕緊出國。首先,不要選動車,要選最近的一班飛機,盡快出國,能走高速走高速,不然選人少的路線。

沒錯,我們 DBA 都是常備護照的。切記,注意看高德地圖實時路況。我們有個前輩就是刪庫之后開車就上二環,下午五點鐘。警察到的時候他還堵在路上。

 

以下為知乎網友的精彩評論:

知乎網友 @vczh 表示:

 

 

??

??

 

 

知乎網友@匿名用戶回答:

 

 

??

??

 

 

知乎@匿名用戶:

??

??

??

??

 

最后,我們再來看看一位資深運維人對順豐數據庫被誤刪事件后的思考:

我們先來算一算,590 分鐘不可用是個什么概念,大概相當于 10 個小時業務不可用。

我們按 365 天來算,一年為 525600 分鐘,590 分鐘服務不可用就意味著這次事件將服務可用性降低到了 99.88%。

那么 99.88% 是個什么概念呢,這個數值可能有些人覺得蠻高的,但是其實在互聯網公司,對于做 OLTP 業務的數據庫來說,估計一年的 KPI 都沒有了。

尤其是對于電商,交易,金融相關的業務來說,10 個小時不可用那簡直就和災難一樣。所以這個運維小哥被開除也應該不足為奇吧。

目前我也不清楚這個運維小哥什么情況,也不知道這 10 個小時是否影響的是核心業務,也不知道為什么要十個小時才恢復起來。我就數據庫被刪除這件事件和大家聊聊我的想法。

首先說說數據庫什么情況下會被刪,我想不外乎兩種情況,要么是被惡意刪除,那么就是被誤操作刪除。

惡意刪除這種沒什么好說的,刪除了肯定根據公司損失來定責,性質比較惡劣,當然是嚴懲不貸,甚至是追究法律責任。我們重點來說說誤操作這種情況。

為什么會產生誤操作事件呢,我理解的誤操作是有兩種情況:

第一種是對技術的研究不夠深入,導致操作誤判出現故障,從而影響到線上業務,比如線上某臺數據庫由于 SQL 索引缺失造成性能問題,導致 SQL 堆積和數據庫 CPU 飆升。

這個時候我們應該怎么操作呢,是Kill SQL,還是在線加索引,還是回滾業務?

我們都知道一般 SQL 索引問題可以通過加索引來解決,但是在這種數據庫高負荷的情況下,加索引可能會導致數據庫資源消耗更加嚴重,從而導致主庫不可用。

這種情況下和業務方溝通 Kill 掉問題 SQL 并且回滾代碼可能是比較好的辦法,或者備庫加好索引進行 MHA 切換也是可以的,這些需要 DBA 同學對數據庫技術和線上操作有一定的經驗才可以準確判斷如何處理這個問題。

如果操作誤判可能就是事故了,但是這些本身是技術經驗相關的,隨著工作經驗的增加,這種誤操作故障會越來越少。

第二種就是純粹的誤操作,誤刪庫,誤刪表,誤刪數據,rm -rf 等等。比如運維同學手抖按了回車,眼睛看花眼把數據庫選錯了,復制粘貼錯了,敲命令太快了等。

這種故障和上面說的技術和經驗無關了,雖然不是惡意的,但是確實和操作人有關系。這種事件是在運維操作里需要格外小心和關注的。

真出了事情,什么理由都不是理由,KPI 沒了,年終獎沒了,甚至工作也沒了,甚至還影響到自己部門的 KPI 考核。

這些事情不論是作為運維人員,還是部門領導都是不愿看到的事情,那么這種誤操作怎么能夠防范和避免呢,根據我自己的工作經驗,我大概總結了下面幾點:

責任心+細心

其實沒什么好說的,不論什么事情和工作,責任心都是基礎,自己的事情自己負責到底,有始有終,這個是考慮一個人首要條件,作為一個 DBA,更加不用說,沒有責任心,做不了 DBA。

對生產環境的敬畏之心

之前看到一些公司的招聘要求,其中有一條就是對生產環境的敬畏之心,作為一個工作 N 年的 DBA 來說,這點現在越來越體會比較深刻。

工作經驗越久,膽子反而越來越小,線上環境操作各種確認,一些重大變更回車遲遲不敢敲下,總要 Delay 半分鐘。

其實我覺得作為一個 DBA 這是一個好的習慣,DBA 不是搬瓦工,不需要你快速操作,保障線上數據安全和持續穩定才是第一位的。

Double Check 機制

Double Check 機制是一個重大變更減少事故的好習慣。很多時候,過于可能會出現失誤,有一些錯誤是自己永遠發現不了的,當局者迷,旁觀者清,這個時候第二個人幫你 Review 操作可能幫助你減少故障。

所以我建議對于生成變更走 Double Check 機制是個很好的習慣。

個人心態

另外一點我想聊的是人無圣人,孰能無過,也許只有經歷過一些事故才能更好的成長。

當出現問題時,也不需要驚慌,把每次故障當成一次成長,出現問題,積極總結問題和故障復盤,要避免的是不要在同一個地方犯同樣的錯誤,也是一種成長。

如何優雅地防止從刪庫到跑路?

換人容易,我們要從根本處避免問題的再次出現。運維不易,且行且珍惜。

但如果我在服務器維護的時候不小心執行了 rm -rf 命令……現在整臺服務器被我刪光了腫么辦???......所以程序員特別喜歡跑步鍛煉。

??

[[244574]]

??

 

好吧,言歸正傳。下面我們來討論下,程序員如何優雅地防止數據誤刪。現在先來介紹一下 rm。

rm -rf 的威力

rm 是 Linux 系統下刪除文件的命令,-r 代表刪除這個下面的一切,一切的一切那種的一切。f 表示不需要用戶確認,直接執行。

通常這個命令都是指定文件夾用的,比如:

rm -rf /home/test/

就是刪除 /home/test/ 這個文件夾下面的所有東西。但是如果后面的文件夾路徑沒有加對,rm -rf / 在服務器上也就意味著…解脫了......

??

[[244575]]

??

 

俗話說的好:常在河邊走,哪能不濕鞋。那該怎么避免這種悲劇的發生呢?

如何避免再次跑路?

一個方案就是重定向 rm 命令以嫁接為 mv 命令,相當于給 Linux 系統定制了一個回收站。

實現方式如下:

### 重定義rm命令 ###  # 定義回收站目錄 trash_path='~/.trash'  # 判斷 $trash_path 定義的文件是否存在,如果不存在,那么就創建 $trash_path. if [ ! -d $trash_path ]; then     mkdir -p $trash_path fi  # 定義別名:使用 rm 就調用 trash alias rm=trash  # 使用 rl 就調用 'ls ~/.trash'  # 如果更改上面的回收站目錄這里的目錄也需要修改 alias rl='ls ~/.trash'  # 使用 unrm 就調用 restorefile,需要在刪除目錄的父目錄下執行 alias unrm=restorefile  # 使用 rmtrash 就調用 claearteash alias rmtrash=cleartrash  # 恢復文件的函數 restorefile() {     mv -i ~/.trash/$@  ./ }  # 刪除文件的函數 trash() {       mv $@  ~/.trash/ }  # 清空回收站的函數 cleartrash() { read -p "確定要清空回收站嗎?[y/n]" confirm 'y' ] || [ $confirm == 'Y' ]  && /bin/rm -rf  ~/.trash/* }

最后將上述腳本寫入 /etc/bashrc,并立即執行命令 source /etc/bashrc 即刻生效。

??

[[244576]]

??

 

這個腳本定義了幾個命令:

  • rl:查看回收站下的文件。
  • unrm 文件名或目錄:恢復到當前的路徑下。
  • rmtrash:清空回收站,不過會友好提示。

執行 rm 不會真正刪除,而是使用 mv 移動到我們指定的回收站。實在真的想刪除可以 /bin/rm 來進行刪除。

另外,需要注意的是,之前 rm 指令的一些參數可能不再使用,因為 rm 現在其實是 mv 了。

使用示例:

# touch hoxistest # touch 1 # mkdir haha # ls 1  haha  hoxistest # rm 1 # ls haha  hoxistest  # 查看回收站文件 # rl 1  myftp1  # 恢復已刪除文件 # unrm 1 [root@CESHI-CLM-10-254-4-48 test]# ls 1  haha  hoxistest  # rm haha/ # rm hoxistest # rl haha  hoxistest  # 情況回收站 # rmtrash 確定要清空回收站嗎?[y/n]y # rl

效果看著應該還可以吧。

 

 

??

[[244577]]

??

 

 

雖然看著是還可以,但是也有一些問題,比如刪除文件不能重名,若重名了會提示你是否進行覆蓋。

那就需要再進行特殊處理了,比如刪除時加個時間戳什么的,有興趣的動手實現下吧。參考:??https://www.cloudbility.com/club/6981.html??

出處:《如何優雅地使用 rm 防止誤刪除?》一文來自【不正經程序員】微信公眾號,作者:hoxis;《順豐數據庫被誤刪事件后的思考》一文來自【DBARUN社區】微信公眾號,作者:茹作軍,其他素材是互聯網綜合整理。

留 言 有 禮 活 動

作為程序員,您怎么看待順豐工程師誤刪公司數據庫被開除一事?掃描下方二維碼,關注51CTO技術棧公眾號。歡迎在技術棧微信公眾號留言探討。小編將精選出最有價值的三條評論,分別獲得 50、30、20 元 的 紅 包 獎 勵,活動截止時間 9 月 28 號 12 時整。

??

??

 

責任編輯:武曉燕 來源: 互聯網綜合整理
相關推薦

2021-11-05 11:56:34

運維規則書籍

2017-03-13 18:19:43

2020-10-21 08:59:50

刪庫程序員虛擬機

2021-05-10 17:22:49

工程師代碼技術

2021-11-19 10:05:43

運維規則書籍

2017-06-30 13:48:52

運維云計算自動化

2020-11-27 14:45:57

開發服務器代碼

2020-02-26 14:07:58

刪庫微盟運維

2012-05-28 09:31:04

2017-09-11 10:09:59

刪庫DBA淘汰

2022-06-02 16:56:46

刪庫刪庫跑路

2013-08-30 10:06:13

2020-08-05 11:50:47

刪庫MySQL數據庫

2019-08-20 14:20:19

MySQL數據恢復數據庫

2020-03-03 17:28:39

CIO刪庫微盟

2024-03-29 08:08:25

2019-09-16 17:08:12

運維AIOpsIT運營

2021-09-18 08:06:17

數據庫MySQL技術

2020-10-19 13:01:31

刪庫程序員思科

2016-08-15 11:12:00

Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本高清精品 | 97精品久久 | 波多野结衣av中文字幕 | 国产一区精品在线 | 精品国产一区二区久久 | 欧美一区二区三区在线看 | 99热在线播放 | 欧美久久久久久 | 欧美日韩在线视频一区 | 欧美国产91 | 九九精品在线 | 一区二区三区精品视频 | 欧美视频在线播放 | 久久久久久久久淑女av国产精品 | 99视频| 午夜码电影| 欧美美女爱爱视频 | 国产精品精品视频一区二区三区 | 欧美一区二区三区 | 免费黄色网址视频 | 国产91精品网站 | 久色视频在线观看 | 国产在视频一区二区三区吞精 | 成人黄色在线视频 | 国产成人av一区二区三区 | 日韩精品免费在线 | 中文字幕在线第一页 | 懂色中文一区二区三区在线视频 | 国产美女在线精品免费 | 欧美群妇大交群中文字幕 | 天堂色 | 欧美成人在线网站 | 网色 | 国产成人精品综合 | 精品三级在线观看 | 九九九视频在线观看 | 日韩视频在线一区二区 | 黄色片免费看 | av黄色在线| 国产精品一区二区在线 | 久草精品视频 |