У меня есть сценарий повара, который выполняет
directory '/home/ubuntu/s3' do
action :create
end
execute 'copy from s3' do
command "aws s3 cp s3://my-assets /home/ubuntu/s3/ --recursive"
end
...
После копирования нового файла в ведро s3 я заметил, что его не оказалось на моем сервере после выполнения этого рецепта шеф-повара ... Итак, я подключился к серверу по ssh и rm -rf выбрал каталог s3 .. Повторно запустил мой chef, и позже он потерпел неудачу при попытке доступа к чему-либо в каталоге s3 с сообщением «нет файла или каталога».
Я ssh'd вернулся и обнаружил, что шеф-повар никогда не воссоздавал каталог после того, как я его удалил ... Итак ... Как мне сказать шеф-повару переделать то, что, по его мнению, уже сделано, и не нужно делать ?
Ресурсы внутри рецепта не обязательно в порядке.
Пытаться:
directory '/home/ubuntu/s3' do
action :create
end
execute 'copy from s3' do
command "aws s3 cp s3://my-assets /home/ubuntu/s3/ --recursive"
only_if { ::Dir.exist?(/home/ubuntu/s3) }
end
или:
directory '/home/ubuntu/s3' do action :create.. end execute 'copy from s3' do command "aws s3 cp s3://my-assets /home/ubuntu/s3/ --recursive". subscribes :create, "directory[/home/ubuntu/s3]" end