天天看点

Puppet资源总结

资源介绍:

常用资源:file、service、package

工具资源:exec、cron、user、group

资源总结

file

  • ensure =>(指定文件状态)

    present 检查文件是否存在,不存在就创建

    absent  检查文件是否存在,存在就创建

    directory 指定这是目录

  • path =>(文件完整路径,默认与title相同)
  • source => 文件获取地址,以puppet://开头为从master读取
  • content => 文件的内容
  • recurse => 对目录是(true)否(false)递归(ensure => directory时有效)
  • owner => 文件所属用户
  • group => 文件所属组
  • mode => 文件权限

package:

  • ensure => 指定软件包状态

        present 检查包是否存在,不存在就安装(也可写成installed)

        absent  检查包书否存在,存在就卸载

        laster  检查包是否是最新的,不是则升级为最新

        pureged 干净移除该软件

  • name => 软件包的名称
  • source => 获取安装包的地址

service:

  • ensure => 指定服务状态

        running    正在运行中

        stopped    停止状态

  • enable => 服务是否开机自启动

        true    开机启动

        false    开机不启动

  • name => 服务名称,默认与title想同
  • start、stop、restart、status => 服务的启动、关闭、重启等(start => "/etc/init.d/nginx start")
  • hasrestart => false/true        该管理脚本支持restart指令,默认false,没有则使用stop/start来重启
  • hasstatus => false/true         该脚本是支持status指令,默认false,没有则使用grep来判断
  • pattern => "XXX"             设置收索进程的指定字符串,当不支持restart/status命令时,grep根据该值来收索
  • binary => 当服务没有init脚本时,将直接使用该程序的二进制包本体。binary属性的值即为该本体的完整路径
  • subscribe => File["配置文件路径"]   当配置文件改变,重启服务

user:

  • ensure => 指定用户状态

        present    如果用户不存在则生成

        absent     删除用户

  • name => 用户名,默认和title相同
  • uid =>  用户ID,不指定则自动生成
  • gid => 用户所属组的GID
  • groups => 该用户所属的用户组名,可为列表
  • home => 用户家目录
  • managehome => 是否自动生成家目录,默认为false,需要手动指定
  • shell => 用户登陆后默认分配的shell(/bin/bash|/sbin/nologin)

group:

  • ensure => 指定用户组状态

        present   如果用户组不存在则创建

        absent    用户组存在则删除

  • name => 用户组名,默认为title
  • gid => 用户组ID
  • system => 该用户组是否是系统组,使用的较小GID,默认为false
  • members => ['user1','user2']    组成员

cron:

  • ensrure => 指定计划任务的状态

        present    如果该cron不存在则添加

        absent     如果该cron存在则删除

  • command => 欲执行的脚本命令和路径
  • hour(0-23), minute(0-59), month(1-12), monthday(1-31), weekday(0-7)=> 计划任务的时间安排,支持列表(如:[2, 4])
  • user => 执行给cron的用户

exec:

  • path => 设置命令路径,和PATH环境变量一样
  • command => 运行的命令,如果没有指定path则需要写完整路径
  • creates => “filename” 文件不存在则创建
  • cwd => 指定命令执行的目录,如果不存在则执行失败
  • onlyif => 当该属性中的命令执行成功,这条命名才回去运行
  • unless => 与onlyif相反