有人可以用木偶帮我,我想用smt启动我的服务:
service {"my_service":
ensure => running,
enable => true,
hasstatus => true,
hasrestart => true,
}
但它需要一些可以随时出现的文件夹,我无法控制它。所以我想要onlyif =>
service
似乎如果我的服务需要exec
onlyif
{{1}},那就不行了......
答案 0 :(得分:1)
为什么不使用'require'来检查文件夹是否存在的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
}
可能需要四处寻找内联命令语法,但是应该这样做。