Puppet:如果文件系统未在引导时挂载,则停止服务

时间:2014-04-22 02:45:59

标签: puppet

什么是编写木偶代码的最佳方法 - "如果未安装/ filesystem则停止crond" (文件系统安装由Redhat Cluter负责)"

3 个答案:

答案 0 :(得分:1)

我建议编写一个custom fact来检查你的文件系统挂载。使用该变量,您可以将crond服务声明为stoppedrunning等。

或者,您可以执行类似exec的操作来停止crond,使用onlyif检查装载。例如,在mount的输出中grepping文件系统的名称。

自定义事实方法更清洁,更可靠,风格更好;如果你匆忙,exec应该可以正常工作。

答案 1 :(得分:1)

exec可能是最简单的解决方法:

exec { "stop_crond" :
   command => "service crond stop",
   path => "/sbin:/usr/sbin:/bin:/usr/bin",
   unless => 'mount | grep -oq "/filesystem"',
}

答案 2 :(得分:0)

以下适用于我。

exec { "stop_crond":
command => "service crond stop",
path    => "/sbin:/usr/sbin:/bin:/usr/bin",
unless  => '/bin/cat /proc/mounts | /bin/grep -q \' /mnt \'';
}