软件包(Java.ActiveMQ 等)手动安装问题

软件包(Java.ActiveMQ 等)手动安装问题

我正在尝试从主服务器手动将 Java 或 ActiveMQ 安装到我的代理服务器中,安装对我来说工作正常,但我面临的问题是,每当我在我的代理 ActiveMQ 安装中一次又一次地运行 puppet agent -t 时,基本上 ActiveMQ 安装都不会检查我的清单。

1.) 我们如何使用清单检查自定义服务是否正在运行? 2) 我们如何使用条件(if、else...)语句实现这一点?

请在下面找到我的代码..

类 activemq { 包括 wget::gxactivemq

  exec { 'ActiveMQExe':
  command => "/bin/tar xzf /gx/mnt/software/ESB/apache-activemq-5.5.1-bin.tar.gz",
  cwd => "/gx/mnt/software/ESB/",
  require => [wget::fetch["activemqDownload"]],

  logoutput => true,
       }
            file { '/gx/logical/ESB/':
            ensure => link,
            owner  => "ubuntu",
            group  => "ubuntu",
            target => '/gx/mnt/software/ESB/',
            require => [Exec["ActiveMQExe"]],
            }
            file { '/gx/logical/ESB/apache-activemq-5.5.1':
            ensure => "directory",
            owner  => "ubuntu",
            group  => "ubuntu",
            recurse => true,
            require => [Exec["ActiveMQExe"],File["/gx/logical/ESB/"]],
                 }
            file { '/gx/logical/ESB/apache-activemq-5.5.1/conf':
            ensure => "directory",
            owner  => "ubuntu",
            group  => "ubuntu",
            mode => 777,
            recurse => true,
            require => [Exec["ActiveMQExe"],File["/gx/logical/ESB/"]],

} }

谢谢,Jithin

答案1

一种可能性可能是使用 Exec 的“unless”、“creates”或“onlyif”子句:换句话说,仅当 tar 命令创建的文件(或目录)之一尚不存在时才调用“tar”命令。

同样,关于服务,你可能需要查看以下文档:服务资源

相关内容