2011-12-06 18 views
28

大きなフォルダ(〜100GB)を別のフォルダにコピーしたいと思います。存在しない(フォルダではない)ファイルをスキップしたいので、ディレクトリが既に存在していても、/music/index.htmlが存在しない場合でもコピーされます。存在するファイルをスキップしてファイルをコピーする - Unix

私はthisを見つけましたが、私のシェルは-uが有効な引数ではないと言っています。

rsyncの仕組みがわからないので、それが良い解決策であるかどうか教えてください。

ありがとうございました。

+3

'rsync'は*常に*良い解決策です。はい、それは*良い*です。 –

+3

この質問はおそらくhttp://unix.stackexchange.com/ – Bruno

+0

...または[su] –

答えて

50

ファイルをコピーするには常にrsyncを使用します。なぜならIt It Is Greatです。

rsync --ignore-existing --recursive /src /dst 

manualを読み、多くの、多くの偉大な例については、周りの検索でください:既存のファイルを無視する

。特にsshとの組み合わせでは、オプションのため、遅く信頼できない接続のためには、rsyncがすばらしいツールになります。 --verboseを追加して、どのファイルがコピーされているかを確認します。パーミッション、ユーザー、タイムスタンプの保存に関する多くのオプションをチェックしてください。

+0

に移動する必要があります。再帰的か、 '-r'を追加する必要はありますか? – switz

+1

完璧に、すでに起動しています。私は冗長モード( '-v')で動作することで動作すると言えます。ありがとう! – switz

+6

rsyncが動作している間に進行状況を表示するには 'rsync - 人間可読 - 進行--ignore-existing - 再帰/ src/dst' –

7

rsync(1) 2つの異なるコンピュータに送信元と送信先がある場合は、絶対に光ります。ソースとデスティネーションが同じコンピュータ上にある場合は、これはまだ優れたツールです。ただ、

rsync -av --ignore-existing /path/to/source /path/to/destination 

:あなたは両方の場所に存在するすべてのファイルが同一であることを確信していた場合

rsync -av /path/to/source /path/to/destination 

が、その後、--ignore-existingオプションを使用します。

シンプル使用は次のようになります。完全性のために、rsync(1)を使用してリモートシステムでバックアップを作成する場合、私が最も好むコマンドは次のとおりです。

は(私はローカルに気にしないだろうが、低速のネットワークリンクを介して、それが大きな違いを生むことができます)圧縮を要求し-P--partial--progressを要求 - これは再利用されます部分ファイル転送をそれを再起動する必要がある場合は、簡単な進捗バーのインジケータが表示されます。

関連する問題