存在するファイルをスキップしながらファイルをコピーする-Unix
大きなフォルダー(〜100GB)を別のフォルダーにコピーしたいのですが。存在するファイル(フォルダーではない)をスキップしたいので、/music/index.html
は存在しませんが、/music
ディレクトリはすでに存在します。
this が見つかりましたが、シェルは-u
は有効な引数ではありません。
rsync
がどのように機能するかわかりませんので、それがより良い解決策かどうかを教えてください。
ありがとう。
ファイルのコピーには常にrsync
を使用してください。
既存のファイルを無視するには:
rsync --ignore-existing --recursive /src /dst
manual を読んで、多くの素晴らしい例を探してください。特にsshとの組み合わせにより、rsync
は、--partial
オプション。追加 --verbose
コピーされているファイルを確認します。パーミッション、ユーザー、タイムスタンプの保存に関する豊富なオプションも確認してください。
rsync(1)
は、ソースと宛先が2つの異なるコンピューター上にある場合に絶対に輝いています。発信元と宛先が同じコンピューター上にある場合に使用するのが依然として優れたツールです。
simpleの使用は次のようになります。
_rsync -av /path/to/source /path/to/destination
_
両方の場所に存在するファイルが同一であると確信している場合は、_--ignore-existing
_オプションを使用します。
_rsync -av --ignore-existing /path/to/source /path/to/destination
_
完全を期すために、rsync(1)
を使用してリモートシステムでバックアップを作成する場合、最も好ましいコマンドは次のとおりです。
_rsync -avz -P /path/to/source hostname:/path/to/destination
_
_-z
_は圧縮を要求します(ローカルでは気にしませんが、遅いネットワークリンクでは大きな違いを生むことができます)。_-P
_は_--partial
_および_--progress
_を要求します-再利用する必要があります部分ファイル転送を再起動する必要がある場合はファイル転送を行い、便利な進行状況バーインジケーターを表示します。