欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁(yè) > 知識(shí)庫(kù) > Perl集群配置管理系統(tǒng)Rex簡(jiǎn)明手冊(cè)

Perl集群配置管理系統(tǒng)Rex簡(jiǎn)明手冊(cè)

熱門(mén)標(biāo)簽:萬(wàn)利達(dá)百貨商場(chǎng)地圖標(biāo)注 外呼電信系統(tǒng) 智能機(jī)器人電銷(xiāo)神器 惠州龍門(mén)400電話(huà)要怎么申請(qǐng) 河南虛擬外呼系統(tǒng)公司 上海企業(yè)外呼系統(tǒng) 電話(huà)機(jī)器人哪里有賣(mài) 熱門(mén)電銷(xiāo)機(jī)器人 okcc外呼系統(tǒng)怎么調(diào)速度

Rex 是 Perl 編寫(xiě)的基于 SSH 鏈接的集群配置管理系統(tǒng),語(yǔ)法上類(lèi)似 Puppet DSL。官網(wǎng)中文版見(jiàn) http://rex.perl-china.com 。本文僅為本人在部門(mén) Wiki 上編寫(xiě)的簡(jiǎn)介性文檔。

常用命令參數(shù)

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

Rexfile 介紹

參數(shù)設(shè)置部分:

復(fù)制代碼 代碼如下:

    set connection => "OpenSSH";
    user "root";
    krb5_auth;
    parallelism 10;

這四行指定采用 kerberos 認(rèn)證,并發(fā) 10 個(gè)進(jìn)程執(zhí)行 ssh 命令。
復(fù)制代碼 代碼如下:

    desc "install puppet agent";
    task "puppet_install", sub {
    }
    before "puppet_install", sub {
    }
    after "puppet_install", sub {
    }

這幾行就是 Rexfile 的任務(wù)定義主體格式。task 指令定義任務(wù),任務(wù)會(huì)在具體的 -H 或者 -G 服務(wù)器上執(zhí)行。其他都是可選項(xiàng),desc內(nèi)容會(huì)在 -Tv 的時(shí)候顯示;before 和 after 定義的任務(wù)會(huì)在執(zhí)行對(duì)應(yīng) task 之前或之后,在'''rex命令執(zhí)行處,即10.4.1.21本地'''執(zhí)行。

常用指令介紹

run

運(yùn)行命令。如果有回調(diào)函數(shù),那么會(huì)把 stdout 和 stderr 傳給回調(diào)函數(shù);如果沒(méi)有,直接把 stdout 作為返回值。

比如:

復(fù)制代碼 代碼如下:

say run "uptime";
    run "nginx -v", sub { my ($out, $err) = @_; say $err };

file

分發(fā)文件。語(yǔ)法類(lèi)似 Puppet 的 file。支持 source、template、ensure、on_change 等操作。注意:rex 是順序執(zhí)行 Rexfile 的,所以不用設(shè)置 Puppet 的 require 指令。

比如:

復(fù)制代碼 代碼如下:

    file "/etc/yum.repos.d/xiaonei-private.repo",
      source => "repos/xiaonei-private.repo";
    file "/etc/nginx/nginx.conf",
      content => template("templates/etc/nginx/nginx.conf.tpl"),
      owner  => "nginx",
      group  => "nginx",
      mode   => 644,
      ensure => 'file',
      on_change => sub { service nginx => "restart"; };
    file "/etc/nginx/conf.d",
      ensure => "directory",

pkg

安裝軟件包,在早期版本命令寫(xiě)作 install package => "nginx" ,最近改成 pkg 了,更像 Puppet 語(yǔ)法了。

也支持傳遞數(shù)組作為 pkg 內(nèi)容。另外,rex 還 提供了一個(gè) update_package_db 指令,用于執(zhí)行 yum clean all 或者 apt-get update 操作。這點(diǎn)是 Puppet 欠缺的。

比如:

復(fù)制代碼 代碼如下:

 update_package_db();
   my $packages = case operating_system,
      Debian => ["apache2", "libphp5-apache2"],
      CentOS => ["httpd", "php5"],
   pkg $packages,
     ensure => "present";

ensure 也支持 present、absent、latest 等幾種含義。同 Puppet。

account

用戶(hù)管理原先用 create_user 和 create_group 指令,最近把 create_user 更新為 account 指令。

比如:

復(fù)制代碼 代碼如下:

  create_group 'puppet';
  account "puppet",
    ensure   => "present",
    uid      => 509,
    home     => '/home/puppet',
    comment  => 'Puppet Account',
    expire   => '2015-05-30',
    groups   => ['puppet'],
    password => 'puppet',
    system   => 1,
    no_create_home => TRUE,
    ssh_key        => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChUw...";

tail

用來(lái)同時(shí)觀測(cè)多臺(tái)主機(jī)的日志的最新追加情況。應(yīng)該是比較有用的一個(gè)小功能。代碼如下:

復(fù)制代碼 代碼如下:

   tail "/var/log/syslog", sub {
     my ($data) = @_;
     my $server = Rex->get_current_connection()->{'server'};
     print "$server>> $data\n";
   };

遠(yuǎn)程主機(jī)詳情相關(guān)變量

Puppet 有專(zhuān)門(mén)的 Facts 變量來(lái)判定遠(yuǎn)程主機(jī)的詳情。Rex 因?yàn)樽?SSH 連接,不會(huì)在遠(yuǎn)程主機(jī)上跑一個(gè) agent 來(lái)收集這些信息,所以還是通過(guò)遠(yuǎn)程執(zhí)行命令的方式來(lái)提供相關(guān)內(nèi)容。目前常用的幾個(gè)函數(shù)(也可以認(rèn)為是變量)有:

is_redhat

這個(gè)用來(lái)判斷操作系統(tǒng)是否是 RedHat 系列。之前因?yàn)橛幸慌?Debian 的機(jī)器,所以 Rexfile 里一直有這么個(gè)操作邏輯:

復(fù)制代碼 代碼如下:

    if ( is_debian ) {
    } elsif ( is_redhat ) {
    } else {
    }

operating_system_version

這個(gè)用來(lái)判斷具體的操作系統(tǒng)版本號(hào)。比如 CentOS5 跟 CentOS6 應(yīng)該應(yīng)用的操作就不一樣,甚至 CentOS6.5 和 CentOS6.2 也有可能不一致。

比如 Rexfile 里的 1w10 任務(wù):

復(fù)制代碼 代碼如下:

    if ( is_redhat and operating_system_version >= 64 )
    }

route

rex 可以收集的信息比 puppet 要多很多,比如網(wǎng)絡(luò)相關(guān)、sysctl 相關(guān)等等。Rexfile 里的 1w10 任務(wù)用到了 route 信息來(lái)獲取默認(rèn)網(wǎng)關(guān)和網(wǎng)卡接口。

復(fù)制代碼 代碼如下:

    my ($default_route) = grep {
      $_->{"flags"} =~ m/UG/ (
        $_->{"destination"} eq "0.0.0.0" ||
        $_->{"destination"} eq "default" )
      } route;
    if ($default_route) {
        my $default_gw = $default_route->{"gateway"};
        my $default_if = $default_route->{"iface"};
        run "ip route change default via ${default_gw} dev ${default_if} initcwnd 10 initrwnd 10";
    };

connection

在多臺(tái)主機(jī)執(zhí)行任務(wù)的時(shí)候,大多希望在輸出的時(shí)候看到某條結(jié)果是哪個(gè)主機(jī)返回的。前面 tail 任務(wù)就用到了,不過(guò)寫(xiě)起來(lái)非常復(fù)雜的樣子。其實(shí) rex 提供給更簡(jiǎn)潔一點(diǎn)的寫(xiě)法。就是 connection->server。

復(fù)制代碼 代碼如下:

  task 'tellmewhoyouare', sub {
    say connection->server;
  }

當(dāng)前連接的服務(wù)器的整個(gè)信息,也可以通過(guò) get_system_information 指令來(lái)獲取,這兩個(gè)指令其實(shí)是等同的。不過(guò)根據(jù)字面意思一般用來(lái)不同語(yǔ)境下。

這些信息如果要完整查看,可以通過(guò) dump_system_information 指令來(lái)查看。這個(gè)命令跟 print Dumper get_system_information() 不一樣的是,會(huì)把每個(gè)鍵作為單獨(dú)變量。而這些變量就是可以直接用于 rex 的 template 里的內(nèi)嵌變量。比如:

復(fù)制代碼 代碼如下:

  listen %= $eth0_ip %>:80;
  visible_hostname %= $hostname %>

不在 dump_system_information 清單里的變量,也想在 template 里使用的,就必須顯式傳遞。這點(diǎn)和 Puppet 不一致,puppet 在 template 里可以通過(guò) scope.lookupvar() 指令獲取任意pp類(lèi)里設(shè)定的變量,這一點(diǎn)完全無(wú)視詞法作用域的存在==!

比如:

復(fù)制代碼 代碼如下:

   file '/etc/elasticsearch/elasticsearch.yml',
     content => template('files/es.yml.tmpl', conf => {
       clustername => 'logstash'
     });

對(duì)應(yīng)的 es.yml.tmpl 里寫(xiě)作:
復(fù)制代碼 代碼如下:

  clustername: %= $conf->{'clustername'} %>

這樣才行。

您可能感興趣的文章:
  • 南方數(shù)據(jù)企業(yè)網(wǎng)站管理系統(tǒng) V9.0全屏版完整版
  • 萬(wàn)博企業(yè)網(wǎng)站管理系統(tǒng)V2006多語(yǔ)完整版 破解版 下載
  • NPOINT免費(fèi)虛擬主機(jī)管理系統(tǒng)windows2003的安裝方法【圖文】
  • CentOS服務(wù)器下安裝Webmin管理系統(tǒng)的步驟
  • CentOS VPS安裝Kloxo免費(fèi)虛擬主機(jī)管理系統(tǒng)
  • php小型企業(yè)庫(kù)存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)代碼
  • ASP.NET網(wǎng)站管理系統(tǒng)退出 清除瀏覽器緩存,Session的代碼
  • 虛擬主機(jī)管理系統(tǒng)DirectAdmin、Websitepanel和Cpanel功能對(duì)比評(píng)測(cè)
  • 護(hù)衛(wèi)神 主機(jī)管理系統(tǒng)使用說(shuō)明(用戶(hù)前臺(tái)設(shè)置)
  • Android實(shí)現(xiàn)學(xué)生管理系統(tǒng)

標(biāo)簽:綿陽(yáng) 百色 綏化 周口 秦皇島 淮安 合肥 周口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Perl集群配置管理系統(tǒng)Rex簡(jiǎn)明手冊(cè)》,本文關(guān)鍵詞  Perl,集群,配置,管理系統(tǒng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Perl集群配置管理系統(tǒng)Rex簡(jiǎn)明手冊(cè)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Perl集群配置管理系統(tǒng)Rex簡(jiǎn)明手冊(cè)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲国产精品久| 日韩美女啊v在线免费观看| 欧美电视剧在线看免费| 欧美一卡二卡三卡| 2欧美一区二区三区在线观看视频| 久久久精品tv| 亚洲婷婷综合久久一本伊一区| 国产一区二区网址| 99久久久国产精品免费蜜臀| 欧美日韩人妻精品一区在线| a级片在线观看| 91 在线视频| 欧美日韩成人高清| 精品福利视频一区二区三区| 日韩激情视频在线观看| 国产精品一区二区三区网站| 无码国产精品一区二区免费式直播| 欧日韩精品视频| 久久午夜羞羞影院免费观看| 亚洲主播在线播放| 国产一二三精品| 五月婷婷婷婷婷| 在线电影一区二区三区| 国产精品高潮呻吟久久| 日本欧美肥老太交大片| 99精品国产99久久久久久白柏| 日本黄色网址大全| 欧美三级视频在线播放| 国产精品午夜免费| 日韩va亚洲va欧美va久久| 国产精品探花一区二区在线观看| 色视频一区二区| 久久午夜色播影院免费高清| 国产乱色国产精品免费视频| 91插插插插插插| 国产人成亚洲第一网站在线播放| 蜜芽一区二区三区| 东京热av一区| 日韩一级大片在线观看| 亚洲二区在线视频| 无码人妻少妇色欲av一区二区| а天堂中文在线资源| 久久一区二区三区四区| 国产盗摄女厕一区二区三区| 久久av无码精品人妻系列试探| 久久久久久久久久久久久女国产乱| 国产东北露脸精品视频| 色老头久久综合| 性做久久久久久久免费看| 91丨九色丨蝌蚪丨老版| 国产88在线观看入口| 亚洲在线成人精品| 波多野结衣 在线| 日韩免费视频一区| 国产高清精品网站| 欧美在线观看一区| 麻豆精品精品国产自在97香蕉| 亚洲av成人片无码| 欧美日韩国产在线播放网站| 麻豆精品精品国产自在97香蕉| 日韩va亚洲va欧美va清高| 亚洲图片欧美综合| avhd101老司机| 久久蜜桃一区二区| av高清不卡在线| 日韩欧美国产不卡| 波多野结衣视频一区| 欧美第一页在线观看| 亚洲国产美女搞黄色| 国产三级在线观看完整版| 亚洲激情av在线| 91一区二区在线| 日韩午夜电影av| 成人h动漫精品一区二| 日韩一级片在线播放| 懂色av一区二区在线播放| 玖玖爱这里只有精品| 亚洲mv在线观看| 久久人妻无码aⅴ毛片a片app| 亚洲va欧美va人人爽午夜| 在线观看天堂av| 午夜日韩在线电影| 欧美老熟妇一区二区三区| 日本女人一区二区三区| 欧美四级电影网| 丝袜美腿高跟呻吟高潮一区| 国产老头老太做爰视频| 男女性色大片免费观看一区二区| 色菇凉天天综合网| 午夜精品久久久久久久99水蜜桃| 中文精品在线观看| 一区二区三区四区国产精品| 最新版天堂资源在线| 国产精品久久久久婷婷二区次 | 日韩午夜av电影| 91女人视频在线观看| 国产亚洲va综合人人澡精品| 不卡在线观看av| 久久色视频免费观看| 91精品啪在线观看国产| 亚洲天堂2014| 91麻豆精品久久毛片一级| 蜜臀av一级做a爰片久久| 欧美在线啊v一区| 风间由美一区二区av101| 2021中文字幕一区亚洲| 精品无码国产一区二区三区51安| 国产亚洲综合色| 久久丫精品国产亚洲av不卡| 亚洲一区二区三区中文字幕| 91精品国自产在线偷拍蜜桃| 国产美女av一区二区三区| 欧美电影免费观看高清完整版在 | 亚洲三级在线免费| 少妇高潮惨叫久久久久| 麻豆一区二区三区| 日韩一卡二卡三卡| 800av在线播放| 性久久久久久久久| 欧美日韩你懂得| 99久久精品国产一区| 中文字幕中文乱码欧美一区二区| 中文国语毛片高清视频| 亚洲成人av中文| 欧美色图12p| 91免费版在线| 亚洲美女在线国产| 中文字幕成人动漫| 麻豆精品在线看| 欧美α欧美αv大片| 91丨porny丨户外露出| 成人欧美一区二区三区小说| 少妇特黄一区二区三区| 视频在线观看国产精品| 欧美一区在线视频| 天天插天天射天天干| 日韩高清不卡一区二区三区| 欧美一区二区三区日韩视频| 北岛玲一区二区| 日本欧美在线观看| 欧美精品一区二区三区蜜桃| 亚洲第一视频区| 国产高清一区日本| 国产精品久久久久影院亚瑟| 男人与禽猛交狂配| av一区二区三区| 一区二区三区欧美在线观看| 欧美日本韩国一区二区三区视频 | 亚洲成人自拍网| 91精品国产欧美一区二区18| 蜜桃传媒一区二区亚洲av| 精品中文字幕一区二区| 91精品国产色综合久久ai换脸| 成人小视频免费在线观看| www久久久久| 国产小视频你懂的| 成人免费黄色在线| 亚洲另类一区二区| 3atv一区二区三区| 97人妻精品一区二区免费| 国产在线一区观看| 欧美一区二区三区公司| www.超碰97| 国产一区二区三区在线观看免费视频 | 国产精品综合一区二区三区| 中文天堂在线一区| 在线观看欧美日本| 少妇一级淫片免费放播放| 久久不见久久见免费视频7| 日韩欧美亚洲另类制服综合在线 | 国产美女视频免费观看下载软件| 青青草国产精品97视觉盛宴 | 欧美白人最猛性xxxxx69交| 日韩在线视频免费看| 91丝袜国产在线播放| 美女视频黄 久久| 中文字幕av一区二区三区免费看| 欧美性淫爽ww久久久久无| 无套内谢大学处破女www小说| 国产精品资源站在线| 亚洲精品福利视频网站| 日韩欧美在线影院| 国产精品成人免费观看| 一级欧美一级日韩片| 国产成人av网站| 亚洲bt欧美bt精品| 国产欧美一区二区精品秋霞影院 | 国产999精品久久| 亚洲一区二区三区美女| 久久久综合九色合综国产精品| 色欲综合视频天天天| 亚洲成人日韩在线| 成人v精品蜜桃久久一区| 免费高清视频精品| 亚洲丝袜自拍清纯另类| 精品国产一区二区三区四区四| 看免费黄色录像| a级在线观看视频| 成人av电影免费在线播放| 秋霞成人午夜伦在线观看|