2016-08-23 5 views
0

以下のレシピを実行しているときにエラーメッセージが表示されます。私の必要条件は、特定のフォルダ(log、tmp)のみをソースから別の場所に移動する必要があることです。以下のリソースをソースフォルダ(log、tmp)で初めて実行すると、正常に実行されますが、同じリソースを2回実行すると、ソースにはフォルダ(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âをstatことはできません:そのようなファイルやディレクトリを

MV:ATMPAをstatことはできません:そのようなファイルまたはディレクトリ

+0

あなたは、エラーメッセージを取り除きたいという意味ですか?エラーを無視しますか? –

+1

ここにたくさんの例がありますhttp://stackoverflow.com/questions/19221252/how-to-move-copy-files-locally-with-chef – Techidiot

+0

箱舟の本を検討することをお勧めしますか?上記のリンクの解決策として記載されています。ソースインストールをサポートするように設計されており、条件付きでインストールしたり、セキュリティチェックサムを実行したり、標準の「make」ワークフローをサポートするなど、非常に柔軟性があります。チェックの価値があります。リンクはhttps://supermarket.chef.io/cookbooks/arkです。あなたがもっと詳細を提供すれば、おそらく誰かが例を助けることができます。私はこの問題が以前に解決されたと仮定しています。 –

答えて

1

ファイルの移動は、一般的な意味での収束操作ではありません。したがって、これはお勧めできません。より良いアプローチは、linkリソースを使用してシンボリックリンクを作成するか、既に存在するはずのフォーマットで物を配備するだけです(ビルド側で変更が必要な場合があります)。

関連する問題