来自Windows共享的Chef复制文件(通过remote_file?)

时间:2014-05-28 03:06:04

标签: chef

前几天我不得不将一些文件复制到Windows主机上。令我惊骇的是,我意识到那里没有内置选项:

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

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

2 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:0)

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