다음 명령을 실행하여 rsync를 사용하여 다음 파일만 복사하려고 합니다.
- 새로운
- 다양한 크기로 나오세요
rsync -niav --size-only /home/me/source/Electronica /media/externalDrive/dest/Electronica
그러나 이 테스트를 실행하면 다음과 같은 출력이 생성됩니다.
>f+++++++++ Electronica/music/AlbumArt_{F0CB439F-A1FC-47DB-A698-C561191F3FDE}_Large.jpg
>f+++++++++ Electronica/music/AlbumArt_{F0CB439F-A1FC-47DB-A698-C561191F3FDE}_Small.jpg
>f+++++++++ Electronica/music/Folder.jpg
나는 이것을 파일이 복사되었다는 의미로 해석합니다. 하지만 크기는 똑같습니다! (단, 시간과 깃발은 다릅니다.) rsync는 외장 하드 드라이브(다른 형식)를 의미하기도 합니다.
또한 다음 명령을 시도했습니다.
rsync -niav --size-only --ignore-times /home/me/source /media/else
rsync -niav --size-only --ignore-existing /home/me/source /media/else
그러나 파일은 여전히 같은 방식으로 나타나므로 복사된다는 의미입니다. 또 무엇을 시도할 수 있나요?
홈페이지 설명에 어떤 문제가 있나요?
--size-only skip files that match in size
답변1
당신은 rsync
고전적인 "후행 슬래시 함정"에 빠졌습니다.
소스 경로가 슬래시로 끝나지 않으면 rsync
소스 파일이 복사됩니다목차. 복사할 예정이라면콘텐츠소스 디렉터리의 경우 슬래시로 끝나야 합니다.
다음 위치에 있는 파일을 복사한다고 가정하고 예를 살펴보겠습니다 /home/me/source/Electronica/music/Folder.jpg
.
rsync -a /home/me/source/Electronica /media/externalDrive/dest/Electronica
복사할 것이다Electronica
목차/media/externalDrive/dest/Electronica/Electronica/music/
소스에서 대상까지 생성되어 거기 에 저장 됩니다 Folder.jpg
.
rsync -a /home/me/source/Electronica/ /media/externalDrive/dest/Electronica
복사할 것이다콘텐츠디렉토리의 디렉토리이므로 그 아래 디렉토리를 Electronica
복사하고 (존재하지 않는 경우 ) .music
/media/externalDrive/dest/Electronica/
Folder.jpg
/media/externalDrive/dest/Electronica/music/Folder.jpg
상황을 더 혼란스럽게 만들기 위해,아니요에도 불구하고목적지경로는 슬래시로 끝납니다.
모든 경로를 슬래시로 끝내는 습관을 들이면 rsync
불쾌한 놀라움을 피할 수 있습니다.