作用:
①.管理服務的狀态;
②.服務能夠在配置檔案更改的情況下自動重新開機。
格式:
1、service資源常用屬性
service {'資源标題':
binary
enable
ensure
hasrestart
hasstatus
name
path
pattern
restart
start
status
stop
provider
}
◆ enable:指定服務在開機的時候是否啟動,可以設定true和false。
◆ ensure:是否運作服務,running表示運作,stopped表示停止服務。
◆ name:守護程序的名字。
◆ path:啟動腳本搜尋路徑。
◆ hasrestart:指出管理腳本是否支援restart參數,如果不支援,就用stop和start實作restart效果。
◆ hasstatus:指出管理腳本是否支援status參數,puppet用status參數來判斷服務是否已經在運作了,如果不支援status參數,puppet利用查找運作程序清單裡面是否有服務名來判斷服務是否在運作。
◆ provider:預設為init。
service {"title": #服務名, 通常就是在/etc/init.d/目錄下的名字
ensure => {running|stopped}, #目前service的狀态
enable => {true|false}, #service是否開機啟動,chkconfig
[status|start|stop|restart] => "cmd", #指定要執行的完整指令,當且僅當,啟動腳本不在/etc/init.d/下的
path => "目錄", #啟動腳本的搜尋路徑,可以用冒号分割多個路徑,或者用數組指定
hasrestart => {true|false}, #是否支援restart參數,如果不支援,就用stop和start實作restart效果.
hasstatus => {true|false}, #是從指令行status查詢還是從程序表(有沒有該程序)中,查詢service的狀态
provider => base|daemontools|init; #預設為init
}
執行個體:
#vsftpd,啟動且開機自起
vi /etc/puppet/manifest/test.pp
service {"vsftpd":
ensure => running,
enable => true;
#檢查
vsftpd is stopped
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
info: Caching catalog for client.perofu.com
info: Applying configuration version '1395069819'
notice: /Stage[main]//Service[vsftpd]/ensure: ensure changed 'stopped' to 'running'
notice: Finished catalog run in 0.38 seconds
vsftpd (pid 20118) is running...
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#源碼
service {"httpd":
ensure => running,
#restart => "/usr/local/apache2/bin/apachectl restart",
hasrestart => "true",
subscribe => File["/etc/httpd/httpd.conf"]
subscribe
檢測某個資源,當它發生變化時,該資源會重新加載,如:
class nagios {
file { “/etc/nagios/nagios.conf”:
source => “puppet://server/module/nagios.conf”,
alias => nagconf # just to make things easier for me
service { nagios:
ensure => running,
subscribe => File["nagconf"]
當檢測到檔案nagconf被修改時,服務nagios會相應的更新。需要注意的是,目前支援subscribe的資源隻有exec,service和mount。
本文轉自yzy121403725 51CTO部落格,原文連結:http://blog.51cto.com/lookingdream/1845506,如需轉載請自行聯系原作者