2016-08-23 92 views
0

當我執行下面的配方時會收到錯誤消息。我的要求是,只需要在源文件夾中有文件夾時,只需將某些文件夾(日誌,tmp)從源文件「移動」到某個其他位置,即使不需要移動併成功執行我的資源。每當使用源文件夾(log,tmp)首次執行下面的資源時,它將成功執行,但是當第二次運行相同的資源時,它會拋出錯誤消息,因爲源中沒有文件夾(log,tmp)。我需要成功執行即使文件夾(日誌tmp)不在源中。你能分享你的這個需求嗎?廚師的「mv」資源

下面是我的資源:

execute "move files" do 
command "mv #{node["source"]}/log tmp #{node["dest"]}" 
cwd node["direct"] 
only_if do File.exist?(node['source']) end 
end 

錯誤消息:

MV:無法統計âlogâ:沒有這樣的文件或目錄

MV:無法統計âtmpâ:沒有這樣的文件或目錄

+0

你是說你想擺脫錯誤信息?忽略錯誤呢? –

+1

很多例子在這裏http://stackoverflow.com/questions/19221252/how-to-move-copy-files-locally-with-chef – Techidiot

+0

我可以建議你考慮方舟食譜?它在上面提供的鏈接中被列爲解決方案。它旨在支持源代碼安裝,並且非常靈活,例如,它有條件地安裝,執行安全校驗和,並且還支持標準的「製作」工作流程。值得檢查,這裏是鏈接:https://supermarket.chef.io/cookbooks/ark。如果你提供更多的細節,那麼也許有人可以幫助一個例子。我假設這個問題已經解決了。 –

回答

1

移動文件不是一般意義上的聚合操作,所以不建議這樣做。更好的方法是使用link資源來創建符號鏈接,或者只是以他們應該已經在的格式部署東西(但可能需要在生成端進行更改)。