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

6

나는 그것을 사용하여 그것을한다

find -type f -iname ".*.*.??????" -ls

테스트 및

find -type f -iname ".*.*.??????" -delete

명확하게


-1

전송 실패 후 rsync에 의해 남겨진 임시 파일을 삭제하려고 할 때 다음 명령이 효과가 있음을 발견했습니다.

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

이것이하는 일은 모든 "숨겨진"파일 ( "."문자로 시작하는 파일)을 찾아서 "rm"명령으로 전달하여 삭제하는 것입니다.

위의 코드와 관련하여 명백한 알려진 문제 는 내용에 숨겨진 파일이 포함되어 있으면이 명령으로도 삭제됩니다.


-2

더 나은 솔루션을 찾고 있지만 내가 생각할 수있는 유일한 방법은로 empty시작하여 파일에 .두 개의 추가 점이있는 모든 파일 을 휴지통 폴더 로 옮기는 것입니다 (사용하는 rm것이 약간 위험합니다).

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

결코 바보가 아닙니다.


아무 설명과 함께을 downvoted
스리 Sarnobat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.