使用Ruby编写脚本进行系统管理的教程

2019-09-25 09:45:02王振洲

这个脚本为根据提供的搜索路径和搜索模式搜索到的文件创建一个名为 “test.zip” 的 zip 文件。

这个例子做以下事情:

    第 9-15 行 - 请求用户提供搜索路径和搜索模式。     第 23 行 - 创建一个新的名为 “test.zip” 的 ZipFile。     第 25 行 - 使用 Ruby 中 “Find” 类中的 “find” 方法遍历指定的搜索路径。     第 26 行 - 检查发现的文件是否为一个目录。如果是目录,并且不是 “.”,则递归地遍历该目录。     第 33 行 - 使用 “File” 类中的 “fnmatch” 方法检查发现的文件是否符合给定的模式。     第 35 行 - 将符合的文件添加到 zip 归档中。

下面是一个示例输出:
清单 4. 第二个例子的示例输出

[root@logan]# ruby zipexample.rb

-----------------------File Search-----------------------------------

Enter the search path  : /test

Enter the search pattern : *.rb
----------------------------------------------------------------------
Searching in /test for files matching pattern *.rb
----------------------------------------------------------------------

----------------------------------------------------------------------
Zipping up the found files...
----------------------------------------------------------------------
"s.rb"
"test.rb"
"s1.rb"

[root@logan]# unzip -l test.zip
Archive: test.zip
 Length   Date  Time  Name
 --------  ----  ----  ----
   996 09-25-08 21:01  test.rb
   57 09-25-08 21:01  s.rb
   39 09-25-08 21:01  s1.rb
 --------          -------
  1092          3 files

Cfruby - 高级的系统管理

根据 Cfruby 站点的定义,“Cfruby 允许使用 Ruby 进行系统管理。它既是一个用于系统管理的 Ruby 函数库,又是一个类 Cfengine 的克隆品(实际上是用于系统管理的一种特定领域语言,即 DSL)”。

Cfruby 基本上是一个由两部分组成的包:

        Cfrubylib – 一个纯 Ruby 库,其中包含用于系统管理的类和方法。这包括文件复制、查找、校验和检查、包管理、用户管理等。     Cfenjin – 一种简单的脚本编程语言,可帮助为系统管理任务编写脚本(不必知道 Ruby)。

Cfruby 可以作为一个 Ruby gem 或 tar 压缩文件下载。gem 是最简单、最容易的方式。获取 gem,并使用 “gem install” 命令安装它。

安装 Cfruby:

    将下载的 Cfruby gem 文件复制到系统中。(在撰写本文之际,它的文件名是 “cfruby-1.01.gem”)。     运行 gem 安装 cfruby-1.01.gem。

Cfruby 现在应该被安装到系统上。
使用 Cfruby

现在,我将展示 Cfruby 的功能,以及它如何大大简化系统管理。

有两种基本的方式可访问 Cfruby 库提供的功能: