高效 Unix 管理員的 7 個習慣

LizetteWCPJ 8年前發布 | 99K 次閱讀 UNIX

如果你一周花 50-60 個小時管理你的 Unix 服務器,解決用戶的問題,仍然覺得沒做多少事,那么你應該養成既讓你更高效又讓你有時間為下一波問題準備的好習慣。

有些 Unix 管理員常常連續工作好幾個小時,處理一大堆重要事情,但他們的工作卻很少獲得好評,而另一些看上去很傲慢的管理員,即使對最簡單的問題也傾向于使用優雅的解決方案,他們對運用正則表達式來解決遇到的任何挑戰的能力引以為豪,他們也真是懶到骨子里了 —— 即使做的是日常工作,他們也不斷的尋找方法,以敲更少的字符。當技術和知識積累到一定程度,如果他們養成一些類似《 高效人士的七個習慣 》書中所講的習慣,他們可以做更多的事情并且從工作中獲得更多好評。有鑒于此,這里推薦了高效 Unix 管理員的一些習慣。

習慣 1:不要讓問題來找你

避免緊急事件(讓你疲于應對的那種)的一個辦法是,在問題的萌芽期將其消滅。我發現在服務器上安裝腳本很有用,這些腳本會在事情看起來不正常的時候通過郵件通知我,比如報告異常日志,檢查性能和磁盤空間統計,報告應用程序失敗或進程丟失。這么做的風險是這種郵件變得越來越多時,會導致當消息停止或被識別為垃圾郵件時,你其實沒有看過或沒注意到。注意到有消息沒到達,就像注意到你的12或更多個人組成的團隊中有個人沒來開會一樣困難。

要做到先發制人,在它們導致中斷之前,在用戶注意到問題或發現他們不再能完成工作之前,你很可能發現很多問題。如果你擁有應對災難所需的資源來也會很有幫助。如果一臺主服務器停止工作了你會進行故障轉移嗎?你會用備份快速重建服務環境嗎?你有沒有定期測試備份以確保它們完整可用?為關鍵服務準備災難計劃(比如,郵件服務可以遷移到數據中心的空閑服務器上,NIS+ 服務器可以用副本來啟動)會讓你免于在壓力下變得手忙腳亂和浪費太多時間。

習慣 2:熟悉你的工具和系統

可能找出你的哪臺服務器出問題的最快方法是,熟悉它正常情況下的狀態。假如一臺服務器通常使用50%的內存,突然間用到了99%, 你會想知道發生了什么。現在是什么進程在跑,之前不是這樣的呀?什么應用比平常用了更多的資源?精通一套查看性能、內存使用等的命令,我通常用 sar 命令,也鼓勵別人使用它 , 我用它來查看目前系統發生了什么的同時也用它回顧以往以找出問題發生的時間。我在我最關鍵的服務器上運行的一個腳本發給我足夠的數據,讓我可以快速查看最近一兩周的性能指標。

在問題發生的時候練習所有可能有用的命令也是個好主意。你能構造一個 find 命令幫你識別可疑文件,大文件,和權限有問題的文件嗎?你需要分析一個程序的時候,知道如何使用一個好的調試器真是有如神助。當你的系統受到攻擊的時候,知道怎么檢查網絡連接也很重要。

習慣 3:優先級,優先級,優先級

談到你如何安排工作的時候,把重要的事情放在首位是毫無疑問的,但有時候選擇哪一件事情更優先要比看起來更困難。想要合理的安排任務的優先級,你必須考慮解決問題所帶來的價值。對我來說,問題影響到的人數常常在我的考慮范圍之內,但也要看被影響到的是誰。你的 CEO 可能必須等同于 1000 名員工,但只有你(或你的老板)能做這個決定。你還應該考慮他們受影響的程度。這個問題指的是,他們根本沒法工作還是只是給他們的工作帶來干擾?另一個確定優先級的關鍵因素是解決問題需要的時間。除非我正在解決的問題需要斷電,我會盡快做完可以快速解決的。對我而言,這個類似超市的少量購物結算通道(美國的超市結算臺有“不多于10件商品”與“超過10件商品”之分)。如果我可以在幾分鐘之內解決一個問題,回過頭再做那個可能要花費我所有剩余時間的更重要的問題,我會這么做。如果覺得這個技巧有用,你可以設計自己的量化系統來計算任務的優先級,但不要太復雜。評定問題嚴重程度的 “value” 可以從1(不嚴重)到5(嚴重),影響到的人數也從 1(一個人)到 5 (每個人),需要的時間可以是, 1(星期),2(天),3(小時)和 4 (分鐘)。某種程度上用量化的方式來確定優先級總是個好主意。

嚴重程度 × 影響到的人數 × 需要的時間 = 優先級 (最高優先級 = 優先級的最大值)

3 * 2 * 2 = 12 問題 #1

5 * 1 * 4 = 20 問題 #2

這里問題 #2 會排在任務列表的第一位。

習慣4:進行事后分析,但不要把自己搞糊涂了

有些 Unix 管理員對事后分析有點走火入魔。弄清為什么會出現問題,事后分析的確是個好辦法,但是也許不值得你在這上邊花太多時間。如果你遇到一個非常嚴重的,很高級的問題并且可以重現,你應該花點時間弄清楚到底發生了什么。不太嚴重的問題沒必要這么認真的分析,所以對那些很容易解決的和沒有嚴重后果的問題,你應該設個時限,確定要花多長時間在它上面,來弄明白問題的起因。如果你確實知道事情為什么發生,而不是只知道發生了什么,最好把它記錄下來,好在幾個月或幾年之后發生同樣的問題時你或別人可以查詢得到。

我很想從這些年來遇到的問題中學習,可是曾經有太多次,我發現當遇到一個問題的時候會說 ”我之前碰到過…” 同時仍然想不起原因或者我之前是怎么解決這個問題的。記錄正確的筆記,把它們放到安全的地方,可以在今后的某些時候節省你幾個小時的時間。你也要仔細確認你的辦法真的有效。不然你可能會發現確鑿的證據,證明你所認為的辦法其實沒有效果。這樣的證據有時不止一條。在你把它記下來之前,嘗試確認你處理的任何問題完全解決了。有時你需要終端用戶幫你確認。或者你可以用 su 命令切換到終端用戶,自己確認修好了沒(我經常這么干)。

習慣 5: 記錄你的工作

通常來講,Unix 管理員不喜歡把他們做的事情記錄下來,但有些事真的有必要花些時間和精力把它文檔化。我曾經編譯了一些很復雜的工具,很值的記錄下來,但我沒有這么做,因此我不得不通過記憶來回想每個程序到底是如何工作的。例如,我有一些程序,包含幾個可視化腳本,跑在 windows 虛擬服務器上給一臺 Unix 服務器發文件,此服務器用 Perl 格式化這些文件,為把它們放入 Oracle 數據庫做準備。

如果別人接手了這項任務的安裝,會花很長時間來理解這些腳本片段,它們跑在哪里,它們在干什么,它們是怎么彼此配合的。實際上,我有時必須停下來問自己 “等一下;這個是怎么回事?” 一些我為自己準備的最好的文檔,列出了每個程序和哪一部分在哪運行,展示出程序每個階段的數據樣本并且詳細介紹了每個程序如何工作和何時運行。

習慣 6:修復問題并向解釋給用戶

好的 Unix 管理員對他們支持的用戶總是積極響應,他們會回復用戶反饋的問題并且在為用戶解決問題的時候也會讓用戶知曉。如果你花時間回復用戶反饋的問題,在解決這個問題的同時通知反饋問題的用戶,并在問題被修復后告訴用戶,你的用戶可能不會感到沮喪而會感激你花時間來幫助他們。

更進一步,如果你花時間解釋哪里出了問題和為什么會出現問題,這可能會讓他們以后能夠自己解決問題而且還會佩服你的直覺。

習慣 7:給自己留點時間

正如我曾經在文章說過的,工作不是你的全部。照顧好自己也是做好工作的重要部分。不要把自己拴在辦公桌上。不時的到處走走,讓腦袋放松放松,并保持學習 — 尤其是你感興趣的。

如果你在意你的幸福,調養生息,并短暫脫離工作,你可能會更幸福并且在人生的各個方面都更成功。

 

來自:http://blog.jobbole.com/107956/

 

 本文由用戶 LizetteWCPJ 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!