Как вывести вывод ресурса bash в chef в файл? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть сценарий bash, который нужно добавить в рецепт шеф-повара. Я ожидаю увидеть вывод кода bash при запуске его по рецепту chef-client-z -o, а также распечатать его в каком-нибудь файле. Например, если я запускаю cat hello.txt, он должен отображать содержимое файла hello.txt при запуске рецепта chef-client -z -o, а также распечатывать его в файл.

Я попытался поместить код в скриптно вывод показывает, что файл не имеет разрешения на запись. Я понятия не имею, как распечатать содержимое hello.txt на консоль.

results = "/tmp/output.txt"
file results do
    mode '0755'
    action :delete
end


cmd = "cat hello.txt"
bash 'Checking system-auth settings' do
  code <<-EOH
    #{cmd} &> #{results}
    EOH
end
ruby_block "Results" do
    only_if { ::File.exists?(results) }
    block do
        print "\n"
        File.open(results).each do |line|
            print line
        end
    end
end

Вывод ошибки, которую я получаю: файл /tmp/output.txt существует, но недоступен для записи, поэтому его нельзя удалить.

...