iT邦幫忙

0

Linux shell script 常用的程式有哪些

  • 分享至 

  • xImage

我看網上都是教一些判斷語法 , 沒找到常用的執行程式
工作上每天要做的工作 , 有哪些需要寫 shell script 呢 ?

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2018-03-18 23:57:23 檢舉
...誰知道你每天要做什麼?這裡有人會通靈嗎?怎麼會有人知道你哪些要寫shell script?
你問這麼多問題,應該先去了解怎麼問問題會比較好。
節錄自「提問的藝術」,下面是譯文。
https://ihower.tw/blog/archives/457

我們不想掩飾對這樣一些人的蔑視–他們不願思考,
或者在發問前不去完成他們應該做的事。
這種人只會謀殺時間–他們只願索取,從不付出,無端消耗我們的時間,
而我們本可以把時間用在更有趣的問題或者更值得回答的人身上。
我們稱這樣的人為“失敗者”(由於歷史原因,我們有時把它拼作“lusers”)。
runan5678 iT邦研究生 1 級 ‧ 2018-03-19 08:56:39 檢舉
要先知道你想做什麼樣的管理,然後根據學習到的基本語法以及能夠搜尋到範例組合成適合管理目標的script,縱使網路方便,但現成的能夠匹配6成的需求就足夠偷笑了,往往還是要自行處理一番。所以還是必須先有想法才知道要查的資料大概會落在哪個方向。
hon2006 iT邦大師 1 級 ‧ 2018-03-19 09:30:34 檢舉
1.備份
2.監控 CPU RAM HD
3.分析紀錄檔
請養成 有事先問谷哥 看完一百篇文章,腦袋有個構想之後再來問問題會比較好
https://www.google.com.tw/search?q=Linux+shell+script => 這邊很多大神發的文章相當多,講一百篇可能太多,但也至少念完十篇再來問
你的問題就好像在問走路能幹嘛,為什麼要走路一樣,你不走路難到出入都要別人扛著你嘛
alex9453 iT邦新手 2 級 ‧ 2018-03-19 10:49:16 檢舉
以下這不就是日常要做的嗎 ?
1.備份
2.監控 CPU RAM HD
3.分析紀錄檔
alex9453 iT邦新手 2 級 ‧ 2018-03-19 11:00:25 檢舉
請問 hon2006
1.備份 -> 是否可用圖形介面設定既可
2.監控 -> CPU RAM HD , 圖形介面也是可以觀察
3.分系記錄檔 ->圖形介面也可以看 , 遇不懂得上網查
以上是否都可以不用寫 script , 那真正需要寫 script 是什麼時候
alex9453 iT邦新手 2 級 ‧ 2018-03-19 11:49:50 檢舉
如果用登錄檔分析工具是否比較好 , 鳥哥的登錄檔分析工具檔案已移出無法下載 , 還有好的分析工具嗎 ?
你有想過嗎
如果都可以用圖形介面 ,那為什麼很多的文章都是用 script 去做
alex9453 iT邦新手 2 級 ‧ 2018-03-19 14:20:29 檢舉
有想過,圖形介面不是也可以做到我說的那些,還是只能做到部份,圖形備份,也可能失效?我覺得是不是,有些圖形做不到的才用 script
我覺得不只這樣耶 , 看看有沒有其他大神肯解惑搂
為什麼不用圖形介面,這就跟有人跟我說安裝WINDOWS 把光碟放進去或是塞到USB然後都按下一步就能裝完一樣
我為什麼要用下指令裝WINDOWS 呢,這樣有比較快嘛,問題不是比較快,而是你自己下指令,每個指令的回應你都能夠判斷指令幹了什麼
GUI 可不是哪麼簡單的回應原則,他也許幹了別的事情,而且精簡之後的LINUX,可能連GUI都沒有,請問不靠指令要怎麼操作系統
裝 LINUX 不就是光碟放進去, 然後都按下一步就能裝完了嗎 ??(誤)
精簡之後的LINUX 那是什麼 能吃嗎??
猜想應該是有人把WINDOWS 的操作習慣 用在LINUX 吧 (雖然我也差不多 >_< )
棉花 iT邦新手 4 級 ‧ 2018-03-20 16:34:06 檢舉
有時候有些指令圖形介面並沒有做出來,或是藏在圖形介面中一些很詭異的地方
這時直接下指令還比較快
alex9453 iT邦新手 2 級 ‧ 2018-03-20 22:43:27 檢舉
今天把 一些指令存成 sh 檔 , 這樣執行就很快 , 否則每次都要寫一長串指令蠻煩的 , 只要做好一次 , 以後就執行就好 , 怪不得還是寫 script 比較快
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

5
weiclin
iT邦高手 4 級 ‧ 2018-03-19 17:52:31

寫 script 的重點就三個字:自動化

你可以把每天要重複好幾次做到很無聊的事情自動化,例如除錯時需要複製資料庫來重現問題,步驟是:

  1. 關閉資料庫服務
  2. 將資料庫檔案都設置好
  3. 開啟資料庫服務
  4. 執行修正程式
  5. 檢查結果是否正確

前四個動作一直重複又沒什麼需要注意的,直接弄成 script 讓步驟變成:

  1. 執行 script 設置好資料庫狀態,並套用修正程式
  2. 檢查結果

這個 script 可能頂多跑個十幾次就再也用不到了,不習慣的人大概覺得不必要花時間寫 script。但對於平常就用指令處理步驟 1 到 4 的人來說,做成 script 只是把相同的指令貼到文字檔而已,花費不用一分鐘。

你也可以把好久才要做一次,然後每次都忘記細節要怎麼弄,查一陣子才想起來的事情自動化。例如程式發佈新版本,網站要放上最新消息,修改下載連結,軟體頁的版本與歷史版本都要更動。包含多國語系的頁面,哩哩扣扣要修改將近十個檔案。即使詳細的步驟都寫成筆記了,有一次還是漏改了檔案,乾脆讓 script 自動去處理。從此發佈新版我只要將版本號與版本說明設好,網頁要改的東西都自動處理好了。

另一個久久才跑一次的例子是伺服器環境的安裝與設定。我們一次更新機器就是幾十台,伺服器上面除了常用的那些套件以外,還要跑自行開發的幾個服務。我在進公司以後遇到第一次更新伺服器就花時間將所有東西自動化了,過幾年第二次更新機器大約四十幾台,我先花一個小時在其中一台跑自動安裝的 script,用另一個 script 檢查所有該動的都有動,有問題就修正自動安裝的 script。剩下的幾十台讓修正後的 script 自己跑一跑大約半小時就全部上線開始負載流量了。包含安裝作業系統,分割硬碟,設定磁碟陣列,安裝套件,設定各種服務,檢查所有的東西都正常就緒,如果要用滑鼠一台一台點慢慢檢查,看你一個星期能不能出機房?

最後一個例子,是某個沒用版本控管的網站。檔案修改後要先傳到 develop 去,修改過的檔案要移到備份資料夾並加上時間戳,確認沒問題才能傳到 production。有一次在找誰把 develop 的東西丟到 production 去,我說不是我,因為全部都 script 自動在跑,這東西跑幾個月都沒事所以不可能今天突然傳到錯的機器去。當然也不可能發生忘了備份就把檔案覆蓋的事情。

看更多先前的回應...收起先前的回應...
alex9453 iT邦新手 2 級 ‧ 2018-03-19 22:50:50 檢舉

感謝你寫這麼多指導 , 感覺 script 是針對多台伺服器才需要這麼做 , 如果只有2-3 台也需要這麼做嗎 ? 另外要發現異常, 是不是需要登錄檔分析工具,會比較容易分析問題?

weiclin iT邦高手 4 級 ‧ 2018-03-19 23:13:31 檢舉

感覺 script 是針對多台伺服器才需要這麼做

我舉那麼幾個例子, 也只有一個提到比較多伺服器, 事實上我大都是用在重複單調的作業上, 或是怕手動操作恍神失誤的地方, 還有懶的記詳細步驟的小事情上

差不多每個軟體專案我都至少會有四個以上的 script 幫我簡化處理各種無聊事情

alex9453 iT邦新手 2 級 ‧ 2018-03-20 06:31:32 檢舉

可以分享你的script 給我嗎?還有你都怎麼分析log?

weiclin iT邦高手 4 級 ‧ 2018-03-20 10:08:08 檢舉

分享給你也沒有用啊, 那都是針對我個人需求弄的, 如果是想看別人寫的東西來學習, 那你可以去看 clonezilla 的原始碼, 他用了很多 shell script

log 有現成的就用現成的軟體, 你現在會用到的別人大都已經寫好了

alex9453 iT邦新手 2 級 ‧ 2018-03-20 11:01:21 檢舉

clonezilla 是一套備份軟體嗎 ? log 有那些現成軟體 , 我是初學者不太懂 . 謝謝!

棉花 iT邦新手 4 級 ‧ 2018-03-20 16:25:36 檢舉
alex9453 iT邦新手 2 級 ‧ 2018-03-20 22:39:54 檢舉

現在比較知道他是說什麼 , 之前找 CLONEZILLA 看到是備份軟體 , 想說看軟體幹嘛 ! 原來是有 SOURCE CODE 可看 , 所以我的需求都可以找到對應軟體 , 也可以自己改 SCRIPT

alex9453 iT邦新手 2 級 ‧ 2018-03-20 22:44:23 檢舉

今天把 一些指令存成 sh 檔 , 這樣執行就很快 , 否則每次都要寫一長串指令蠻煩的 , 只要做好一次 , 以後就執行就好 , 怪不得還是寫 script 比較快

我要發表回答

立即登入回答