深度講解Unix cfengine
由于經(jīng)常學(xué)習(xí)Unix操作系統(tǒng)的一些知識(shí),而且很喜歡Unix操作系統(tǒng),我們今天就來(lái)和大家一起討論下Unix cfengine的知識(shí)。如果您對(duì)自動(dòng)化系統(tǒng)管理是認(rèn)真的,那么應(yīng)該了解 cfengine 工具。僅當(dāng)您寧愿把時(shí)間都花在 vi 編輯器時(shí),可以不去了解 Unix cfengine。
cfengine 是一種系統(tǒng)配置引擎。它獲取配置腳本作為輸入,然后根據(jù)這些腳本來(lái)行動(dòng)。目前版本是 1.6.3(非常穩(wěn)定的發(fā)行版),而且版本 2.0 也呼之欲出。有關(guān) cfengine 開(kāi)發(fā)的更多信息,請(qǐng)?jiān)L問(wèn) cfengine 網(wǎng)站(請(qǐng)參閱本文后面的參考資料)。
不一定要用Unix cfengine提供您的所有東西,而且您不可能立刻需要所有東西。一開(kāi)始時(shí),您的 Unix cfengine 配置文件應(yīng)該很簡(jiǎn)單,并且隨著發(fā)現(xiàn)更多東西希望自動(dòng)化而增長(zhǎng)。
來(lái)自 Unix cfengine命令參考大全,這里有其最值得注意的特性:
可以監(jiān)控和修改文件許可權(quán)和 ACL。例如,/etc/shadow 可以與 0400/root/sys 許可權(quán)保持一致,而且如果那些許可權(quán)發(fā)生變化,可以警告系統(tǒng)管理員或即刻糾正它們。
根據(jù)相應(yīng) fstab 變化,可自動(dòng)安裝和卸載 NFS 文件。
可以通過(guò)單一文件來(lái)管理子網(wǎng)掩碼、DNS 配置、缺省路由和主網(wǎng)絡(luò)接口;文件和目錄可以遞歸復(fù)制至另一位置,要么本地復(fù)制,要么從遠(yuǎn)程服務(wù)器復(fù)制。
可以編輯(這是一個(gè)非常強(qiáng)大的特性,提供了正則表達(dá)式和全局查找/替換)、輪轉(zhuǎn)(譬如,日志文件)或刪除文件。
可以鏈接文件(單一的和/或目錄下的所有文件或與正則表達(dá)式匹配的文件)和整個(gè)目錄。
可以根據(jù)進(jìn)程表中正則表達(dá)式的匹配來(lái)啟動(dòng)、殺死、重啟進(jìn)程或發(fā)送任意信號(hào)。
可以運(yùn)行任意命令。
上述所有這些根據(jù)操作系統(tǒng)類(lèi)型和修訂版本、一天中的時(shí)間、任意用戶定義的類(lèi)、文件中文件、目錄或數(shù)據(jù)的有無(wú)等等可以是有條件的。
即使用 Perl 可以做 Unix cfengine 所做的所有事情,為什么要從頭開(kāi)始呢?例如,如果想用另一個(gè)詞替換某個(gè)詞,編輯文件可以是簡(jiǎn)單的一行程序。當(dāng)開(kāi)始允許系統(tǒng)的子類(lèi)型、邏輯系統(tǒng)部分以及所有其它雜項(xiàng)因素時(shí),這一行程序會(huì)變成 300 行。為什么不在 cfengine 中做呢?它產(chǎn)生 100 行可讀的配置代碼。
根據(jù)我自己的經(jīng)驗(yàn),因?yàn)榭梢詮淖钚∨渲梦募_(kāi)始,然后隨著時(shí)間流逝逐步地向 Unix cfengine 添加一些東西,所以將 Unix cfengine 介紹給站點(diǎn)是很容易的。沒(méi)有人喜歡突然的變化,所有系統(tǒng)管理員更是如此(因?yàn)槿绻魏问鲁鲥e(cuò),他們理所當(dāng)然地會(huì)受到責(zé)難)。
【編輯推薦】