Скопируйте файл с клиентского узла chef на рабочую станцию

Я хотел бы знать, как перенести файл с клиентского узла на удаленную машину. Я проверил, есть ли какой-либо ресурс для этого. Самое близкое, что я нашел, этоremote_file, но он извлекает файл из удаленного местоположения и передает его клиентскому узлу.

Поэтому я попробовал другой вариант, написав скрипт bash, который будет выполнять автоматический scp. Но я не могу скопировать файл, но шеф-клиент работал нормально, без каких-либо ошибок.

Вот мой скрипт для копирования файла:

#!/usr/bin/expect -f

# connect via scp
spawn scp "/tmp/testfile" [email protected]:/home/chef-ws/fileserver

expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send "password\r"
}
}
interact

Я скопировал этот скрипт в мойcookbook's templates каталог какautomatecopy.erb а затем вdefault.rbУ меня есть следующий код

template "/tmp/automatecopy" do
  source "automatecopy.erb"
  mode 0777
end

execute "automatecopy" do
  command "/usr/bin/expect /tmp/automatecopy"
  timeout 100
  action :run
end

Здесь chef-клиент работает успешно, но файл не был скопирован на мою рабочую станцию. Еще одна вещь состоит в том, что, когда я вошел в свой клиентский узел и запустил скрипт оттуда, он работает. Так почему же шеф-повар не справился?

Пожалуйста, помогите мне решить эту проблему, предложив, что может быть не так или есть какой-то встроенный ресурс chef, который можно использовать для копирования файлов с клиента на рабочую станцию.

П.С .: На моей рабочей станции и клиентском узле работала Ubuntu 12.04. Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос