【问题标题】:Chef copy file (via remote_file?) from a windows share厨师从 Windows 共享复制文件(通过 remote_file?)
【发布时间】:2014-05-28 03:06:03
【问题描述】:

前几天我不得不从 Windows 共享中将一些文件复制到 Windows 主机。令我惊恐的是,我意识到没有内置选项:

  • remote_file 不接受 Windows 网络共享作为源
  • windows_package(来自 windows 食谱)仅用于运行安装程序(.msi / .exe 等) ... ?

这是编写文件复制的自定义帮助程序库的唯一解决方案吗?这听起来像是应该存在于 remote_file 中的核心功能。我在这里遗漏了什么,还是 Chef 确实没有用于从 Windows 共享中复制简单文件的内置选项?

【问题讨论】:

  • 你的问题大概有 5 个问题。
  • 我只能找到一个 (stackoverflow.com/questions/14409881/…)。解决方案是一个帮助文件。随意发布一个体面的答案的网址。
  • 我的意思是 - 您在 this 帖子中提出了 5 个不同的问题。你的实际问题是什么?听起来你只是在问反问......
  • 将位于 windows 共享(例如 \\theshare.domain\file)上的文件复制到 windows chef 节点的建议方法是什么?

标签: chef-infra


【解决方案1】:

要使用remote_file 从 Windows 网络共享中获取文件,您只需使用正确的 URL 语法(这确实有点不明显):

remote_file "foo" do
  source "file:////server/path/to/file"
  path "/path/to/local/file"
end

这样,即使在从 CIFS 共享复制内容时也能正常工作。

【讨论】:

  • 啊...谢谢。我在文档中找不到这个。我正在上班的路上,所以我会尝试一下......
  • 这实际上没有用。语法应该是 remote_file “将它放在节点上的路径”。它适用于本地文件,但来自 Windows 共享则不行。
  • 这里的行为是changed recently(可能还没有发布)。你能用 3 个斜线而不是 4 个斜线试试吗?
  • 实际上用两个斜杠创建一个本地文件。三个斜杠引发以下错误: FATAL: NoMethodError: remote_file[test_copy] (production_test::web_server line 25) has an error: NoMethodError: undefined me thod `+' for nil:NilClass (line 25 is my remote_file block)跨度>
  • 我已经打开了一个功能请求,以防现在根本不支持:tickets.opscode.com/browse/CHEF-5350
【解决方案2】:

3 年后,我仍然无法从共享中复制文件。但我找到了一种安装方法:

directory 'c:/mydirectory' do
  recursive true
end

mount "P:" do
  device '\\\\myserver\\myshare'
  username "myusername"
  password "mypassword"
end

remote_file "c:/mydirectory/myfile.txt" do
  source 'file:///P:/path_behind_myshare/myfile.txt'
end

mount "P:" do
  device '\\\\myserver\\myshare'
  action :umount
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 1970-01-01
    相关资源
    最近更新 更多