ターゲットが存在しない場合にのみ単一のファイルをコピーしたいと思います。ソースファイルはほとんど変更されず、月に一度程度変更されます。目的地はほとんど存在しません。
-n
オプションと違いはありますか-u
? (それとも両方!)
cp
通貨から直接crond
。他のオプションは使用されませんcp
。
同じcronジョブが複数のシステムで同時に呼び出され、同じソースからデータを読み取り、同じターゲットに書き込みます(両方とも共有GFSグローバルファイルシステム上)。その直後にターゲットファイルは別のプロセスによって移動されるため、そのファイルが存在できる唯一の時間は、cronジョブが複数のノードで同時に実行されるレースです。
どちらがより効率的ですか? :
cp -n source dest
cp -u source dest
cp -nu source dest
cp -pu source dest
私は現在、より簡単な-n
選択肢に向かって傾いています。
答え1
-n
と組み合わせることは意味がありません-u
。
-n
既存のファイルを上書きしたくない場合は、このオプションを使用してください。
-u
最新のファイルを上書きしたくない場合は使用してください。
2つの違いは、ターゲットファイルがソースファイルより古いことです。この状況で何が起こるのかを考えて、それに応じてコマンドを書いてください。
-n
私はこれが良いと思います-u
が、その効果は測定できないようです。
(「古いもの」と「新しいもの」はどちらも以下を指します。時間ファイル数。