
※ 緣由:
公司原先就有一套Cacti 0.8.7e,用來監控HP EVA8400 Storage 的效能
但當初裝的時候裝的版本很精簡,任何外掛套件都沒有,
最近公司要求要將Cacti 用來監控EVA Controller CPU% 並發出Email ALERT
因為Cacti 的Email 是單獨一個外掛套件plugins (叫Settings ),
要設定Perfromace 到達一個threadhold 並觸發Alert也是另一個套件plugins (叫thold)
加上Cacti 用來管理連結這些哩哩扣扣的外掛plugins 的平台又是一個稱之為PA 的模組
※ 故本次一共有三個模組要安裝設定,分別是PA, Settings , thold fevin 發表在 痞客邦 留言(1) 人氣(9,880)
版主在園區從事Unix/linux 系統管理之工作已多年
待過工研院、Dram半導體大廠、IC設計廠
由於要照顧數百台伺服器,就像是伺服器的"老北" ( 父親)
時常需要寫ShellScript , 或Pytnon Script 來達成伺服器管理的工作
由於幾乎都是親自撰寫程式,常常覺得如果網路上找得到程式就省工多了
覺得有些程式或模組應該很多系統管理者都會需要
於是把我親自寫過的程式與模組,
分享給大家,讓大家可以少寫點程式
這也是Python 的觀念與好處之一
歡迎大家一起來交流喔!
fevin 發表在 痞客邦 留言(2) 人氣(274)
要在Unix/linux 裡面自動更改密碼,由於更改密碼passwd是互動式指令,
故透過Born Shell Script 的話,就是必須要用Expect 來達成。
Lnux default 有裝expect , 但UNIX比如Solaris 就沒有裝,需要上網去裝回來用
solaris 的版本要去www.sunfreeware.com 抓
抓下來後會附很多SAMPLE Script
以下是 Download expect 後附的一個Sample script , 就是用來自動改密碼的!
多貼心阿~直接就可以拿來用了,這個sample 叫auto_passwd
比如帳號叫User01 ,密碼設為1234567
語法如下 :
# auto_passwd User01 1234567
方便吧!程式碼又短小!
以下就是其原始碼囉!
fevin 發表在 痞客邦 留言(1) 人氣(4,613)
要在Unix/linux 裡面自動更改密碼,由於更改密碼passwd是互動式指令,
故透過Born Shell Script 的話,就是必須要用Expect 來達成。
而Python 也有類似的expect ,叫pexpect (這麼模組是要另外抓下來的)
抓下來之後,編譯完Import 進來就可以用了!
版主 "您北" 以Python + pecpect 實作一個自動輸入密碼的模組,此模組可以單獨使用
或獨立成為另一個模組以供呼叫,以下就來看看是怎麼作的!
fevin 發表在 痞客邦 留言(0) 人氣(1,775)
有時候在管理NFS mount ,會遇到 mount 路徑改變,或消失
比如 mount naserver1:/ora /home/ora 為例
但是可能某天因為換NAS 導致 naserver1 改成naserver3 了,
或者是naserver1 退役所以消失了
但是機器的mtab 還有記錄,所以都無法umount 成功
或是某些機器 認不到新的MountPoint
導致有些要重開機才行,不要再作這種蠢事了!
以下是"您北" 的經驗整理,提供給大家杜絕蠢事發生!
Linux : # umount –fl /home/ora
# service nscd stop
# service autofs reload ; service autofs restart
# Sleep 180 ; cd /home/ora
HP Unix : # fuser –ku ftcnas1:/vol/vol2/ora
# cd /home/ora
Sun OS : # umount –f /home/ora
# kil -9 (pid of nscd)
# cd /home/ora
fevin 發表在 痞客邦 留言(0) 人氣(1,216)
用途:需要查詢多台伺服器的特定Nfs mount point 是否可以正常掛載 .
方法:需準備兩支程式(chk_nfs.sh ,kill_rshtimeout.sh )及機器清單(serverlist.txt , 清單檔名當然可以自由取 )
fevin 發表在 痞客邦 留言(0) 人氣(865)
NetApp 與EMC 是業界常用的前兩大NAS品牌,
當然有時候管理者會遇到萬一NetApp 的資料要轉到EMC 上
當然也必須把User Quota Setting 轉移過去,不然User 會無止盡的用
因為 EMC Default 是不會限制Quota的
但是,NetApp 與EMC 的quota Setting 方法差異極大,
又不可能一個USER一個User 手動敲入quota,會敲到手斷掉的!
敲到手斷掉,公司也不會開勞保職業傷害證明給你去跟勞保局請求保險賠償的!
所以,這時候就需要一個自動化轉換QUota 的Script 囉!
fevin 發表在 痞客邦 留言(0) 人氣(708)
"您北"有時候想寫一些自動 FTP,Telnet 的程式,但又怕對方該PORT沒反應、不通,
那程式就會HANG住很久,用Ping 的方式又不能指定PORT
所以"您北"寫了一個可以動態輸入想偵測的IP跟PORT的模組
很簡單,比如這個模組叫ES_ALEX_CK_PT_M
只要在程式裡呼叫它,並把回傳值丟出來就知道通或不通了!
語法:ES_ALEX_CK_PT_M.do(IPAddress,Port)
例子:result = ALEX_CK_PT_M.do(192.168.199.199,21)
以上例子就是用來偵測192.168.199.199 這個IP 的21 port 通不通
通的話, result = True , 反之為False
fevin 發表在 痞客邦 留言(0) 人氣(1,287)
這是我應用我網站上寫的【FTP Upload 模組】與 【偵測Port 模組】寫成的一支程式
主要是,從外部讀config 檔進來,此config 檔記錄了我要FTP哪些內容到哪一個站
(1)首先會偵測該FTP Site 通不通
(2)檢查要傳檔的我方目錄群是否為空,空目錄的話當燃就不傳囉!
(3)可以定多個目錄,程式會動把目錄內容一一UPLOAD到對方的網站
(4)最後把過程的紀錄在Log ,並且萬一有狀況會把Log Mail to 管理者
fevin 發表在 痞客邦 留言(0) 人氣(703)
在Unix 管理,時常會用到自動化FTP Upload 或Download ,
比如要把本地端某目錄下的資料定期Upload 到客戶廠商的FTP Site,
但是常常又有不一樣的廠商,就會有不同的FTP Address , 不同的帳號密碼,不同的來源路徑.不同的對應路徑.等等
這時候如果有個模組,可以彈性的輸入以上這些東西,隨時要用的時候拿出來用
可以少掉很多CODING的時間!
fevin 發表在 痞客邦 留言(0) 人氣(845)