国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

Perl集群配置管理系統Rex簡明手冊

2020-06-04 20:32:14
字體:
來源:轉載
供稿:網友

Rex 是 Perl 編寫的基于 SSH 鏈接的集群配置管理系統,語法上類似 Puppet DSL。官網中文版見 http://rex.perl-china.com 。本文僅為本人在部門 Wiki 上編寫的簡介性文檔。

常用命令參數

rex 命令參數很多,不過因為我們的環境是 krb 認證的,所以有些參數只能寫在 Rexfile 里。所以一般固定在存放了 Rexfile 的 /etc/puppet/webui 下執行命令,很多配置就自動加載了。那么還需要用到的命令參數基本就只有下面幾個:
-Tv: 查看當前 Rexfile 里定義了哪些 Task 任務,以及服務器組。
-H: 指定 Task 將在哪些 Host 上執行。這里比較方便的地方是支持 10.5.16.[95..110] 這樣的寫法。
-G: 指定 Task 將在哪些 Group 上執行。Group 的定義方式很多,Rex 默認支持的有直接在 Rexfile 里通過 group 指令指定,通過 ini 配置文件設定等等。目前我是實現了一個 groups_db 指令,來從我們的 sqlite 里獲取。groups_db('cdnbj::nginx') 就會自動生成一個名叫 ‘cdnbj::nginx' 的服務器組,包括 cdnbj 里所有部署了 nginx 的服務器。
-e: 指定一個臨時任務。通常是'say run “ipconfig”‘這樣的簡單命令形式。如果需要復雜邏輯,還是在 Rexfile 里書寫 Task。
-q:指定運行日志級別,有 -q 和 -qq。
-d:指定運行日志級別,有 -d 和 -dd。

Rexfile 介紹

參數設置部分:
代碼如下:
    set connection => "OpenSSH";
    user "root";
    krb5_auth;
    parallelism 10;
這四行指定采用 kerberos 認證,并發 10 個進程執行 ssh 命令。
代碼如下:
    desc "install puppet agent";
    task "puppet_install", sub {
    }
    before "puppet_install", sub {
    }
    after "puppet_install", sub {
    }

這幾行就是 Rexfile 的任務定義主體格式。task 指令定義任務,任務會在具體的 -H 或者 -G 服務器上執行。其他都是可選項,desc內容會在 -Tv 的時候顯示;before 和 after 定義的任務會在執行對應 task 之前或之后,在'''rex命令執行處,即10.4.1.21本地'''執行。

常用指令介紹

run

運行命令。如果有回調函數,那么會把 stdout 和 stderr 傳給回調函數;如果沒有,直接把 stdout 作為返回值。

比如:
代碼如下:
say run "uptime";
    run "nginx -v", sub { my ($out, $err) = @_; say $err };

file

分發文件。語法類似 Puppet 的 file。支持 source、template、ensure、on_change 等操作。注意:rex 是順序執行 Rexfile 的,所以不用設置 Puppet 的 require 指令。

比如:
代碼如下:
    file "/etc/yum.repos.d/xiaonei-private.repo",
      source => "repos/xiaonei-private.repo";

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪泽县| 砚山县| 新和县| 莫力| 无极县| 东乡族自治县| 西宁市| 凤阳县| 临澧县| 阳西县| 抚宁县| 辽阳县| 天门市| 会宁县| 凌云县| 石嘴山市| 合肥市| 玉树县| 琼中| 若羌县| 环江| 英德市| 崇明县| 凌海市| 武川县| 三江| 兴海县| 苏州市| 晋州市| 永兴县| 绿春县| 阳高县| 凤凰县| 北宁市| 丰镇市| 龙海市| 上犹县| 长治县| 宁远县| 高清| 巴中市|