rsyncが失敗した後のクリーンアップ方法は?


12

ローカルの「rsync -ah」プロセスを終了しました。
ターゲットディレクトリに「.abc.vmdk.zxivMN」のようなジャンクファイルを残しました。
ジャンクファイルは、「rsync -ah」を連続して実行しても削除されません。

詳細:
同期していた両方のフォルダーでdiffを実行したところ、「/ mnt / archive1 / documents / general:.abc.vmdk.zxivMNのみ」と報告されました。

一時的なrsyncファイルをクリーンアップする最良の方法は何ですか?

回答:


12

知らせるrsyncとともに、ソースにないファイルを削除します--delete-during--delete-after。ソースにない正当なファイルがターゲットにない場合にのみ、このオプションを注意して使用してください。

を参照してくださいman rsync

もちろん、検出したファイルはいつでも手動で削除できますdiff...


これは、移動ではなくコピーを実行している場合は良くありません。
Sridhar Sarnobat 2017


-1

転送が失敗した後、rsyncによって残された一時ファイルを削除しようとすると、次のコマンドが機能することがわかりました。

find vod-content/ -path '*/.*' -print0 | xargs -0 -r rm -v

これにより、すべての「非表示」ファイル(「。」文字で始まるファイル)が検出され、それらが「rm」コマンドに渡されて削除されます。

上記のコードに関する明らかな既知の問題は、コンテンツに隠しファイルが含まれている場合、このコマンドはそれらも削除することです。


-2

私はより良い解決策を探していますが、考えられる唯一の方法はempty.で始まり、さらに2つのドットがあるすべてのファイルをゴミ箱フォルダに移動することです(使用rmは少し危険です):

find -type f -empty -iname ".*.*.*" | xargs -n 1 -d'\n' mv -v -t /tmp/

決して間違いのないことではありません。


説明なしで反対投票
Sridhar Sarnobat 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.