シェフを使用してリモートSSHコマンドを実行するにはどうすればいいですか?例えば、execute
リソースシェフ実行中のリモートSSHコマンド
warning: here-document at line 0 delimited by end-of-file (wanted `ENDSSH')
で
execute "some_resource" do
command "ssh -T [email protected] <<'ENDSSH'
cat /etc/*-release
ENDSSH"
action :run
end
結果を用いてレシピ
ssh -T [email protected] <<'ENDSSH'
cat /etc/*-release
ENDSSH
に次のコマンドをもたらす私は、しかし、ENDSSH
でbash
を使用して試していません。 EOT
を使用すると、bash
リソースを使用しているときに外側のEOH
と競合しているようです。これはシェフを使用して可能でしょうか、またはMixlib::ShellOut
の行に沿った何かが、私が想定しているHEREDOC
を使用しているときシェフによって追加されたりインデントされたりするのに適していますか?どちらの場合でも、安定性は疑わしいようです。
ありがとうございます!
何をしようとしていますか?これは他のツールと比較してChefを使用するのに適しているとは言えません。 – coderanger
私は実際にFreeBSDを実行しているインスタンスの設定をリモートで復元しようとしていますが、コンプライアンスの必要性からこの特定のノードにchef-clientをインストールすることはできません。 – dcd018
私のポストヒストリーから見ることができるように、私はかなりシェフのブースターですが、このようなものについては別の場所で見ていきます。ソルト(塩/ ssh)、アネシブル、ファブリック/インボークは、よりフィット感がよく、痛みが少なくなります。 – coderanger