自动化运维工具Puppet-KaliArch
puppet 资源type { 'title':
attibute => value,
}
而资源定义的核心也可以抽象为type、title、attribute和value四个部分。
type分类:
package:
puppet支持使用的软件包管理器
yum,rpm,apt,ports,gem,msi,dpkg,pkg
常用的参数
ensure:程序包的目标状态
name:资源的名称,即软件包的名字
provider:软件包管理器
source:指定程序包文件路径
install_options:安装选项,最常用的是通过INSTALLDIR来制定安装目录
window下安装mysql
package{‘mysql:
ensure => install,
provider =>'msi',
source => 'D:\software\mysql-5.5.36.msi',
install_options => { 'INSTALLDIR' => 'c:\mysql' },
}
service:
常用参数:
ensure:服务的目标状态,ture(启动)和false(关闭)
enable:是否开机自动启动,ture(启动)和false(关闭)
name:服务名称
path:服务脚本路径;默认为/etc/init.d下查找
start:定制启动命令
stop:关闭
restart:重启
status:状态
资源名称仅是一个字符串,在同一个类型中必须唯一
在定义时,资源类型必须是小写字母
file:
管理文件、目录、软链接;
生成文件内容
管理文件权限、属性
也可以通过source属性到指定位置下载文件
通过recurse属性来获取目录
常用参数:
ensuce:absent(不存在) present(存在) file(文件) directory(目录)
backup:通过filebucket资源来备份文件,值通常为filebucket资源的名称
content:文件内容,生成方式有三种(content,source,target),彼此互斥
source:通过制定的url下载文件至本地,获取文件方式为puppet url 格式:puppet:///modules/MODULE_NAME/file_names;
target:为符号链接指定目标
links:文件为符号链接,值为“follow”,“manage”
path: 文件路径,必须使用双引号
mode:定义权限
owner:定义属主
group:定义属组
force: 强制执行删除文件、连接或目录,仅用于ensure为absent时。
purge:清空指定目录中存在的,但未在资源中定义的文件;
recurse:目录递归,值true,false,inf,remote
replace:替换,本地存在的文件与资源中指定的文件内容不同时是否执行替换,默认为否;
exec:
执行命令,通常在不得不用时才使用,慎用,通常用于完成puppet自身无法完成的功能
常用的参数:
command:要执行的命令,通常为命令文件的完整路径
path:命令搜索路径
group:执行命令的组
user:执行命令的用户
onlyif:0,表示仅在命令的状态返回值为0时才执行此命令
refresh:定义接受到其他资源的通知时,则要重新执行此命令
refreshonly:仅当被依赖的资源发生改变时才被触发
tries:尝试次数,默认为1
try_sleep:多次尝试之间的时间间隔
group:管理系统上的用户组
常用参数
ensure:目标状态,present,absent
name:组名
gid:GID
system:系统组
user:管理用户
常用属性:
ensure:目标值状态
name:
uid:
system:
home:
shell:
gid:
password:加密后的密码
managehome: true,false(默认)
cron:定义周期性任务
常用属性
ensure:目标状态
command:命令或脚本
environment:运行时的环境变量
hour:
minute:
mouth:
monthday
weekday
name
user:默认为root
cron { 'ntpdate'
ensure => present,
command => '/usr/sbin/ntpdate 172.16.0.1' &> /dev/null
minute => '*/3'
} 很好 感谢分享谢谢大大
页:
[1]