2
私はシェフのレシピを書いていますが、これではサービスが動作していない場合にのみ操作(バッチ実行)を実行する必要があります。 私はこのスニペットを使用:Windowsサービスが稼働している場合、シェフにガードを使用することはできますか?
batch 'run commnad' do
cwd target_path + '/bin/win64'
code 'command to be executed'
not_if '::Win32::Service.exists?("Service name")'
end
をしかし、動作しているようですしません。 this質問を見た後にif節私の代わりに、ガードの使用してプロセスを変更し、それが正常に動作します:
if !::Win32::Service.exists?("Service name") then
batch 'Install zabbix agent' do
cwd target_path + '/bin/win64'
code 'command to be executed'
end
end
しかし、これは、私が理解し何のために、これを管理するための正しい方法ではありませんので、私は不思議なこと:警備員がなぜ適切に機能していないのですか?
ありがとう、 Michele。
{ } 問題を解決しました。私はそれについて考えなかった。ありがとう! – Mikyjpeg
さらにRuby-ishを実行したい場合は、バッチリソースコールに条件付きを追加することもできます。すなわち、 'バッチ '実行コマンドdo ... –
JackChance