Kopieren Sie die Datei vom Chef Client-Knoten auf die Workstation

Ich möchte wissen, wie eine Datei von einem Clientknoten auf einen Remote-Computer übertragen wird. Ich habe geprüft, ob hierfür Ressourcen zur Verfügung stehen. Das nächste, was ich gefunden habe, istremote_file, aber es ruft eine Datei von einem entfernten Ort ab und überträgt sie auf den Clientknoten.

Also habe ich eine andere Option ausprobiert, indem ich ein Bash-Skript geschrieben habe, das ein automatisiertes scp ausführt. Aber ich kann die Datei nicht kopieren, aber der Chef-Client lief einwandfrei, ohne Fehler anzuzeigen.

Hier ist mein Skript zum Kopieren der Datei:

#!/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

Ich habe dieses Skript in meine kopiertcookbook's templates Verzeichnis alsautomatecopy.erb und dann indefault.rbIch habe den folgenden Code

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

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

Hier läuft der Chef-Client erfolgreich, aber die Datei wurde nicht auf meinen Arbeitsplatzrechner kopiert. Eine weitere Sache ist, dass, wenn ich mich bei meinem Client-Knoten angemeldet und das Skript von dort ausgeführt habe, es funktioniert. Warum scheitert der Koch dann?

Bitte helfen Sie mir, dieses Problem zu lösen, indem Sie vorschlagen, was falsch sein kann oder welche eingebauten Kochressourcen zum Kopieren von Dateien vom Client auf die Workstation verwendet werden können.

P.S: Auf meiner Workstation und meinem Client-Knoten lief Ubuntu 12.04. Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage