加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 将文件从Chef客户端节点复制到工作站

发布时间:2020-12-16 20:53:42 所属栏目:百科 来源:网络整理
导读:我想知道如何将文件从客户端节点传输到远程计算机.我已经检查过是否有可用的资源.我发现最接近的是remote_file,但它从远程位置获取文件并将其传输到客户端节点. 所以我通过编写一个执行自动scp的bash脚本尝试了另一个选项.但我无法复制该文件,但厨师 – 客户
我想知道如何将文件从客户端节点传输到远程计算机.我已经检查过是否有可用的资源.我发现最接近的是remote_file,但它从远程位置获取文件并将其传输到客户端节点.

所以我通过编写一个执行自动scp的bash脚本尝试了另一个选项.但我无法复制该文件,但厨师 – 客户端运行良好,没有显示任何错误.

这是我复制文件的脚本:

#!/usr/bin/expect -f

# connect via scp
spawn scp "/tmp/testfile" chef-ws@10.232.110.113:/home/chef-ws/fileserver

expect {
-re ".*es.*o.*" {
exp_send "yesr"
exp_continue
}
-re ".*sword.*" {
exp_send "passwordr"
}
}
interact

我已将此脚本复制到cookbook的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-client运行成功,但文件未复制到我的工作站机器.还有一件事是,当我登录到我的客户端节点并从那里运行脚本时,它正在工作.那么为什么厨师失败呢?

请帮我解决这个问题,建议可能有什么问题,或者是否有可用于将文件从客户端复制到工作站的内置主厨资源.

P.S:我的工作站和客户端节点都运行Ubuntu 12.04.
提前致谢.

解决方法

我找到了解决方案.感谢这个 SO post,这与我的需求类似,在那里我找到了sshpass的用法而不是期望.所以我改变了我的脚本,如下所示,现在厨师很开心,它的复制……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读