iT邦幫忙

DAY 5
10

系統工程師該知道的31件事系列 第 5

系統工程師該知道的31件事(4_一V錯,萬V皆錯)

如果有一天滑鼠壞掉了...不能選取範圍或指令時...該怎辦? 因為平常都用「CtrlV(貼上)」根本沒有將指令或路徑記起來,連筆記都沒寫,那...就下班回家了嗎? 不可能啊!
打從我入這行開始,我就跟這個地球的某些領域脫節了,最名顯的就是「品牌」,有些專業人士,能用八個小時的時間,跟我談日本車、韓國車、德國車的差異...有些人能用同樣的時間,跟我談這個名牌包...那個名牌包的差異。

我用過最好的名牌包...應該是IBM的吧...因為IBM是全球第一大,也算是個名牌吧。至於是不是嘴巴第一大...應該不是吧,那是以前的副總統不了解,就像現在一樣...Oh My God...總之,我真不是很了解LV這個品牌,有什麼獨特之處。

但我知道Ctrl + V,簡稱CtrlV(貼上的功能鍵)。這個指令,千萬別亂用。特別是,對指令或系統不熟的人,千萬別常用,真的! 有時候用了,不是一個千萬,就能解決的事情。

過去曾發生一個慘痛的案例,有位資深的同事,在某年中秋節前一個星期五趕著回家,那天客戶在做系統轉換。這位同事在這個星期五前的兩個月,每天都在說「這一天,我不會留下來的,留下來會很慘。」

系統轉換如果只是「慘」...那還是可接受的狀況啦,只是這位同事非常堅決。轉換那天下午五點多一點點,他留下了一行指令,並認真的告訴客戶「你要轉換時,把這行指令貼到系統裡,就可以了。」

客戶聽了後,能說什麼? 客戶又不是開血汗工廠的,只好摸摸鼻子,準備時間到的時候,把這行指令貼進系統。比「慘」還要「慘」的事情,就在客戶按下CtrlV後發生了,認真的說大概就像是玩「暗黑破壞神3,剛升上60級,裝備普通普通,進入煉獄模式,跟別人組隊,在悲慘平原碰到精英怪」一樣吧...可能再慘一點(就是想難玩到把電腦摔爛的意思)。

資深同事留下來的那行指令是錯的...認真的說...那行指令裡面帶著帳號和密碼參數的內容是錯的,帳號密碼打錯,其實是很正常的事,但...就可怕在「不正常」。

當時的我,看不懂那行指令。但隔一天,我就懂了...客戶不是開血汗工廠的,但我是血汗工程師啊,所以...一定要懂啊...

「不正常」的地方在...如果我在系統裡輸入 help xxx 那系統會回覆一行指令
xxx username=example passwd=example
資深同事留給客戶的就是這一行「xxx username=example passwd=example」,然後交待客戶輸入這一行就對了。

這件事情影響很大,也讓我快速的進入了...煉獄模式的悲慘平原。

複製+貼上 不是不好,但有幾個狀況,是不得不考慮的,比如:當不能使用貼上,又記不得指令或路徑時,怎麼辦?

Linux 或 UNIX 都會有一個 command history 的功能,就是方向鍵按上,就能重覆上一個指令。但如果碰到...像下面這樣的案例時,就只能一個字一個字敲了。

/> cp 1.log 2.log
/>按上後 出現 cp 1.log 2.log <--這時候將2.log 改為3.log按Enter
或是用滑鼠將上一行指令標起來,再按右鍵、按Enter
/>ls
/> 1.log 2.log

3.log...不存在,為什麼? 我不知道原因,但我發現,雖然畫面出現 cp 1.log 3.log,但當Enter鍵按下去的時候,系統執行的是上一個指令 cp 1.log 2.log,如果要將3.log 生出來,則需要再輸入一次 cp 1.log 3.log。

這樣的環境,很適合練習「不打錯字」的功夫。

比如,現在我要將路徑切換到 /usr/tivoli/tsm/client/ba/bin64 下面

輸入到一半時,輸入錯了,變成 cd /usr/tivoli/tsm/bin64 這時候按倒退鍵(BackSpace)去修正,是沒有用的,必需要再重打一次正確的路徑。打錯就重來,打錯就重來...這樣練個一年之後,在敲鍵盤時,是不太會打錯字的...而且某些時候的速度,會比使用CtrlV還快。

另一個狀況,則是在我們初學時或對產品不了解時,不論是在Windows/Linux/UNIX 的環境下,有的指令,一個字一個字敲出來,對我們是有實用的,特別是在設定一些指令比GUI介面好用的情況下。

別的不說,如果有一天滑鼠壞掉了...不能選取範圍或指令時...該怎辦? 因為平常都用「CtrlV(貼上)」根本沒有將指令或路徑記起來,連筆記都沒寫,那...就下班回家了嗎? 不可能啊!

「因為滑鼠壞掉,指令完全不會,所以請...事假回家」,這..........我老闆應該不會核準這樣的事假,他可能會跟我說「Allen 你明天開始,多帶幾隻滑鼠在身上。」

然後...我未來的老婆看到我時,一定會提高十個八度音問我「Allen 你...改行賣滑鼠囉?」

我是滿想改行的,但...賣滑鼠就...

有人問我,那你呢? 你就不會用這個指令? 你都不會犯錯?

沒有啊,我還滿常用的...之前才出了一個小錯...(因為小錯還來不及長大...就...)

圖片中紅線標起來的地方,就是我犯錯的地方。

這張圖檔的第一、二行是在定義兩個Schedule,這兩個Schedul 會各去執行一個Script...從定義Schedule 和 Script 都可以在文字編輯器中準備好,再一次貼到系統裡面去,這樣的設定方式在於我對系統有一定熟悉的程度,我才能先將要定義的東西準備好,也因為只有關鍵字不一樣,所以都是準備好一份之後...其它的都是複製、貼上。

會這樣做...是有點...偷懶,但也是想節省時間,唯一的風險就是如果「第一份」有錯,那後面複製出來的一定是全錯。

define schedule backup_filepool_cpypool cmd='run backup_filepool_cpypool'
定義Schedule 這個Schedule 要執行一個Script

define script bckup_filepool_cpypool  
定義要備執行的Script名稱

那一天,將這些指令全部準備好之後...每一組指令有16行,每一台主機有三組...一共約30台主機...帥氣的V下去之後...測試的時候發現,我完了...30台全錯...錯不是重點,重點是要花多少程序復原?

每一組,要執行一行指令刪除,就是90行指令,分散在30台不同的主機上面...一行指令輸入完加上按Enter鍵,約10秒(沒有打錯字),一台就是30秒,登入主機到進入Console也約30秒,一台就是一分鐘(要完全沒打錯字)。

從主機1 切換到主機2 ,也大概需要五秒的時間。 5 * 29 = 145秒,加上之前的30分鐘

最後全部刪除完畢,約35分鐘...
35分鐘差不多是在台北上了高鐵後,到新竹高鐵的時間。
也差不多是...在永和上了捷運後...到北投的時間。

這還沒有把測試失敗時,找問題的時間給加進來...也因為這個錯,我那天的進度全部延後,本來事情做完能在晚上六點半,離開客戶那...最後差不多九點多才離開。離開時,警尉帥哥很親切的跟我說「哲齡...今晚又加班啊...」

這算加班嗎? 如果我沒出那個錯,就不用待到那麼晚了...有時候我會開玩笑跟身邊的人講說...『沒有啊,工作就忙啊,事情很多啊,這行業就這樣啊,我就一個人兩隻手啊...』(老闆,我...對不起你...)

慘痛的教訓...還好...人類是漸忘的。

2012/09/28 太陽哲齡

更多文章都在行雲流水IT人

文章導覽
上一篇
下一篇
個人全系列連結


上一篇
系統工程師該知道的31件事(3_前進的力量)
下一篇
系統工程師該知道的31件事(5_筆電裡的秘密-上)
系列文
系統工程師該知道的31件事37
0
liurambo0911
iT邦高手 1 級 ‧ 2012-09-28 06:04:10

沙發
是該要"試用"一下 沒問題後才複製給其他台...

0
海綿寶寶
iT邦大神 1 級 ‧ 2012-09-28 07:34:40

如果沒有了Ctrl+C,Ctrl+V的功能
我預估
大概有一半的程設人員不會寫程式
而我
就在那一半裡
臉紅

0
oowo
iT邦高手 1 級 ‧ 2012-09-28 08:05:18

QAQ忙
筆記....

0
magician
iT邦研究生 2 級 ‧ 2012-10-01 15:37:20

如果說我會寫程式...那我所有的程式碼9成9是Ctrl+C 跟 Ctrl+V所組成...

剩下1%是將 yes改成no , 0 改成 1............

我要留言

立即登入留言