검증된 경우에만 이동하시겠습니까?

검증된 경우에만 이동하시겠습니까?

어떤 이유로 MTP 퓨즈 인터페이스를 통해 휴대폰에서 파일을 복사하면 파일이 손상되어 마지막 몇 바이트가 손실되는 경우가 있습니다. 전송 성공 후 파일을 하나하나 삭제하고 싶은데,아니요문제가 있으면 삭제하세요. 이 mv명령에는 옵션이 없습니다 --verify. 복사하고 확인하고 삭제하는 간단한 스크립트를 작성할 수 있는데, 이를 더 우아하게 처리할 수 있는 기존 명령이 있는지 궁금합니다.

보너스로, 명령에 지정된 체크섬이 일치하고 성공하는지(이 경우) 외부에서 확인하는 것이 좋습니다 jpeginfo -c. 나생각하다짧은 읽기는 무작위로 발생하지만 불량 파일이 실제로 이런 방식으로 캐시되지 않는지 실제로 테스트하지는 않았습니다(그렇지 않으면 동일한 방식으로 두 번 잘못 읽혀질 수 있음). 그래서 그런 것이 mv --verify --verifywith='jpeginfo -c'이상적일 것입니다( jpeginfo -cJPEG 파일의 정확성을 테스트하는 명령이 있는데, 제가 알고 있는 이 명령은 잘린 특정 파일에 대해 오류를 반환합니다).

답변1

rsync를 사용할 수 있습니다 --remove-source-files. man rsync(강조):

이는 rsync에게 보내는 쪽에서 전송의 일부인 파일(즉, 디렉터리가 아님)을 삭제하도록 지시합니다.수신측에서 성공적으로 복사되었습니다..

프로세스 중에 오류가 발생하면 삭제하지 않는 것 외에 성공적인 복제를 어떻게 확인하는지 잘 모르겠습니다. 그게 전부일 수도 있습니다.

그러나 인터페이스가 자동으로 파일을 손상시키는 경우 복사/확인/삭제조차도 문제가 실제로 해결되지 않을 것이라고 생각합니다. 확인조차도 잘못된 결과를 초래할 수 있기 때문입니다.

MTP와 모바일을 말씀하셨으니 안드로이드를 사용하고 계시나 봅니다. 대체 FUSE 인터페이스 사용을 고려하고 있다면 시도해 볼 수 있습니다.데이터베이스 파일 시스템.

관련 정보