2017-02-09 5 views
0

Chefを使用してWindows Serverのファイルをある場所から別の場所に移動したいとします。彼らは冪等と収束することは困難であるため、 私は、変数としてターゲットディレクトリを渡していては動作していない...任意のポインタシェフとChefを使用してWindows Serverのファイルを移動(切り取り貼り付け)

directory_name = e:\\temp 
execute 'copy_MSlog' do 
    command move "E:\\Test\\Untitled.png #{directory_name}" 
end 
+0

ソースがもう存在しないため、これは次の実行で失敗します。さらに、directory_nameを定義するときに "e:\\ temp"が引用符で囲まれないため、実際のコードはコンパイルしないでください。あなたの実際の目標についての背景を与えてください、おそらく問題に取り組む別の方法があります。 – Tensibai

+0

@Tensibai、ここは実際の目標です....私はE:/App/Wind/logs/LCS.logのログファイルを毎日増え続けています。私の目的はAppサーバーを停止し、 E:/ App/Wind/logsからF:/ Archive/Log_ へのログファイルLog_ は変数であり、シェフ用ではなく、スケジュールされたタスクのための作業であるシェフコード – Sandeep540

+0

で生成されます。シェフは、仕事自体をセットアップするために使用することができます。 Linux上でlogrotateのようなもの(私は醜いポートo'ceをした。しかし、おそらくもっとプロのツールが存在する) – Tensibai

答えて

1

残念ながら、ファイルを移動するには、ビットdiceyです。あなたはあなたの引用を修正する必要がありますが、それ以外の場合は正しい軌道に乗っています。 idempotenceを保証するには、not_ifまたはonly_ifのガードを使用してください。すべて設定する必要があります。

関連する問題