Srv

http://docs.puppetlabs.com/guides/types/service.html 原文地址

service

管理系统运行的服务进程,不幸的是不同的系统管理服务的方式是多样的. 有些系统上面对于服务管理很简单,有些系统提供复杂的强大的服务管理功能.puppet提供最基本的服务管理,你也可以指定provider,使用一些特性.

注意,当一个服务从另一个资源收到一个事件,服务会重启,例如配置文件修改,可以要求相应的服务重启.不同的平台重启命令不同,你也可以手工指定重启服务的命令.

特性

  • controllable provider 提供control 变量
  • enableable provider 可以enable和disable服务
  • refreshable provider 可以重启服务

例子

service { 
            "ssh":
             ensure => running;
            "nfs":
             ensure => stopped;
           }

参数

binary
运行服务的命令的路径, 只用于不支持init的操作系统, 如果没有指定启动脚本,就用这个命令来启动服务.

enable
服务在开机的时候是否启动,可以设置的值是true和false,需要provider支持enableable

ensure
是否运行服务, running表示运行服务,stopped 表示停止服务

hasrestart
指出管理脚本是否支持restart参数,如果不支持,就用stop和start实现restart效果. 可以设置的值是true 或 false

hasstatus
指出管理脚本是否支持status参数,puppet用status参数来判断服务是否已经在运行了,如果不支持status参数,puppet利用查找运行进程列表里面是否有服务名来判断服务是否在运行. 可以设置的值是true或false

name
该资源的namevar, 服务的名字,通常就是在/etc/init.d/目录下的名字

path
启动脚本的搜索路径,可以用冒号分割多个路径,或者用数组指定.

pattern
设置搜索进程列表的匹配字符串,用于不支持init脚本的系统.当要停止一个服务的时候,通过查看进程运行列表来判断.

provider

puppet提供下面的provider(只列出常见的系统)

  • debian debian系统的init模式的管理脚本,支持 enableable, refreshable.
  • freebsd init模式,支持enableable, refreshable.
  • init 标准的init模式,支持refreshable
  • redhat redhat的init模式,支持enableable, refreshable.
  • smf solaris新的服务管理框架,支持enableable, refreshable

restart
指定重启脚本,否则就先停止该服务再启动该服务

start
指定启动服务的命令,通常init模式的管理脚本都支持,不需要手工指定

status
指定status命令,如果不指定,就从进程列表查询该服务

stop
指定停止服务的脚本.

除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License