すべてのファイル+ディレクトリ構造をコピーするcpコマンドと、すでに存在するファイルのコピーをスキップするcpコマンドは何ですか

すべてのファイル+ディレクトリ構造をコピーするcpコマンドと、すでに存在するファイルのコピーをスキップするcpコマンドは何ですか

ディレクトリ構造を維持しながら、ディレクトリ内のすべてのファイルをバックアップハードドライブにコピーする必要があります。これは可能ですか?

find . -name '*.*' -exec cp --parents \{\} /target \;

その後、バックアップハードドライブを新しいコンピュータにコピーしたいのですが、ファイルが保存先にすでに存在する場合は、コピーしたくないのでスキップするだけです。

これを行う最良の方法は何ですか?

ベストアンサー1

findaと組み合わせる必要はありませんcp。私はrsyncこの作業にそれを使用します。

「すべて」をコピーし、権限と所有権を維持したい場合(そしてコピーする必要のないコンテンツをスキップするには)「Try Run」などを使用してください。

sudo rsync -Havn sourcedir/ targetdir/

よかったら、削除して実際のnコピーを作成してください。

sudo rsync -Hav sourcedir/ targetdir/

末尾のスラッシュはsourcedir/重要で、で説明されていますman rsync

ハードリンクがない場合はスキップでき、H検索プロセスが速くなります。

rsync権限と所有権に問題がなければsudo

おすすめ記事