你好,游客 登录 注册 搜索
阅读内容

配置管理和软件部署工具 (R)?ex

运行环境:
授权方式:BSD
软件大小:M
下载量:
更新日期:2014-02-18
来源地址:
联系作者:Linux

使用 (R)?ex 你可以从一个中心点通过完整的配置管理和软件发布流程来管理所有的机器

(R)?ex 使用 SSH 作为默认的传输层,无需在服务器端安装任何软件,只需要一个可使用 ssh 的帐号。

为什么使用 Rex?

如果你要做一个任务,运行两次以上, 请自动化它吧 !

不要忘记每一个安装的步骤,创建为自动化. 因为自动化可以减少失败的风险,让你真正的轻松工作.

Rex 据有的优势

基于 SSH,无需额外部署客户端

无缝集成,没有冲突

易用易扩展

入门快,十分钟 Perl 基础就够

开放源代码

我们相信开源coder 的想法.所以Rex 全部代码都是给予Apache 2.0 的许可协议开源

你可以加入我们社区让Rex 更加的完美.

认识了 (R)?ex 这个好工具。Rex 允许你通过 SSH 在远端服务器执行命令,不仅可用于快速部署各种服务,而且能够进行配置管理。Rex 的自动化处理的确给人一种方便省时的感觉。

Rex 纯由 Perl 所打造,不必担心的是,你只需了解一点 Perl 便可快速上手。Rex 除了能够从命令行执行操作外,还支持将相关任务放入 Rexfile 文件。

Rex 可通过如下单行进行安装:

$ curl -L get.rexify.org | perl - --sudo -n Rex

同时也针对 Debian、Ubuntu、Gentoo、CentOS、openSUSE、Mageia、Fedora 等发行版提供有安装包。

Rex

Uptime?
这个命令行例子 将执行 "uptime" 在所有的主机上 如 (frontend01, frontend02, ...).

$ rex -H "frontend[01..15] middleware[01..05] db[01..04]" -e "say run 'uptime'"
还有一些,基于 Rexfile

desc "Get Disk Free";
task "disk_free", sub {
  my $output = run "df -h";
  say $output;
};
现在你可以用这个命令运行你的任务

$ rex -H "frontend[01..15] middleware[01..05] db[01..04]" disk_free
保持你的配置文件同步
这个例子将安装Apache webserver 在 5 个服务器上 并且保持配置文件同步.如果配置文件改变了 他会自动reload 你的apache 服务.

如果这个任务将执行首先安装好apahce服务在做再做配置文件同步.

user "root";
group "frontend" => "frontend[01..05]";

desc "Prepare Frontend Server";
task "prepare", group => "frontend", sub {
  install "apache2";
};

desc "Keep Configuration in sync";
task "configure", group => "frontend", sub {
  prepare();

  file "/etc/apache2/apache2.conf",
        source    => "files/etc/apache2/apache2.conf",
        on_change => sub { service apache2 => "reload"; };
};
在 sudo 下执行 ?
你也可以在sudo 下 运行任何的任务. 只需要激活sudo 和定义sudo 的密码

user "ubuntu";
group "frontend" => "frontend[01..05]";
sudo TRUE;  #激活sudo
sudo_password 'sudopass';

desc "Prepare Frontend Server";
task

linux
相关资讯       (R)?ex 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款