|
node 'node3.com'{ #标识只给node3.com这台主机推送,不写默认所有主机
file{'tomcat': #使用文件资源,名称随便起
ensure=>present,
#文件如果存在就对比md5值,不同就进行传输,如果不存在直接传输
source =>"puppet://$server/files/apache-tomcat.tar.gz",
#指定文件在puppet服务器上的位置,如果引用变量,则必须使用双引号
path=>'/opt/apache-tomcat.tar.gz', #指定文件在客户端的位置,文件名必须要写
}~>
# '~>'指示下一个资源和这个资源有依懒性,上一个资源执行成功时会通知下一个资源
==subscribe=>Exec['tar xvf']
#还有'->'表示顺序性,只要上一个资源没有报错,就会执行下一个资源==require=>Exec['tar xvf']
exec{'tar xvf':
command=>"tar -xvf /opt/apache-tomcat.tar.gz -C /opt/", #在客户端解压tomcat安装包
path=>"/usr/bin:/bin",
#在解压时所需命令所在的位置
refreshonly=>true,
#当上一个资源成功执行时才执行本资源,配合subscribe=>Exec['tar xvf']一起使用
}
file{'server.xml': #替换配置文件
ensure=>present,
source =>"puppet://$server/files/server.xml",
path=>'/opt/apache-tomcat/conf/server.xml',
}
exec{'startup': #启动tomcat服务
command=>'startup.sh', #执行启动命令
path=>"$tomcatconf/bin:/usr/bin:/bin:/sbin",
refreshonly=>true,
subscribe=>Exec['server.xml'],
}
} |
|
|