簡體   English   中英

sh startup.sh使用人偶模塊啟動tomcat

[英]sh startup.sh start tomcat with puppet module

我正在嘗試創建一個安裝了tomcat的人偶模塊。 我完成了所有其他工作,該模塊下載了Tomcat tar,將其解壓縮,刪除了軟件包並從模板更改了設置文件。 我唯一的問題是不會自動啟動tomcat。 如何將其設置為執行“ sudo sh startup.sh”?

我嘗試使用命令=>“ sudo sh startup.sh”,但是我認為問題是它不能使用sudo。 有沒有一種方法可以繞過該方法或其他解決方案來啟動tomcat?

我建議您安裝服務腳本,而不是聲明執行文件以啟動應用程序服務器。
這樣,您可以依賴service資源類型的功能,該功能將幫助您檢查服務的狀態並確保它是預期的。
您可以在此處找到示例腳本,該腳本可以作為tomcat.erb 放在模塊的templates/目錄中。

基本上,接下來要做的就是聲明一個fileexecservice資源三元組,如下所示(基於RedHat的操作系統的示例,除了chkconfig部分,與Debian / Ubuntu相似):

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,
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM