我建议您安装服务脚本,而不是声明执行文件以启动应用程序服务器。
这样,您可以依赖
service资源类型的功能,该功能将帮助您检查服务的状态并确保它是预期的。
您可以在此处找到一个示例脚本,该脚本可以放在
templates/模块目录中。
tomcat.erb
基本上,你会做什么,然后是声明
file,
exec,
service资源三重如下(例如基于红帽的操作系统,类似的适用于Debian /
Ubuntu的除了
chkconfig部分):
file { '/etc/init.d/tomcat': ensure => present, content => template('tomcat/tomcat.erb'), mode => 'u=rwx,og=rw', user => 'root', group => 'root', notify => Exec['add_tomcat_service'],}exec {'add_tomcat_service': command => '/sbin/chkconfig --add tomcat', path => ['/bin', '/sbin', '/usr/bin', '/usr/sbin'], onlyif => "test `/sbin/chkconfig --list | /bin/grep tomcat | /usr/bin/wc -l` -eq 0", before => Service['tomcat'],}service { 'tomcat': ensure => started, hasstatus => true, hasrestart => true,}


