2013-11-20 65 views
0

有人可以幫我傀儡管理服務,我想用SMT要啓動我的服務:木偶如何僅如果

service {"my_service": 
    ensure  => running, 
    enable  => true, 
    hasstatus => true, 
    hasrestart => true, 
} 

,但它需要一些可以在任何時候,我出現了一些文件夾無法控制它。所以,我要像onlyif =>一些事情service

看來,如果我的服務需要一些execonlyif它不工作...

回答

1

你爲什麼不使用「需要」,檢查是否存在一個exec文件夾?

service {"my_service": 
    ensure  => running, 
    enable  => true, 
    hasstatus => true, 
    hasrestart => true, 
    require => Exec['checkForDir'], 
} 

exec {'checkForDir': 
    command => "/bin/bash -e if [ -d "$DIRECTORY" ]; then; exit 0; fi;", 
    returns => '0', #error will be thrown if the command doesn't return zero 
} 

可能需要玩弄內聯命令語法工作,但應該這樣做。

+0

你確定它會顛覆執行服務語句嗎? 如果在exec中定義了'returns =>'0''並且'command'執行將會退出,其他代碼將會阻塞服務? –