rsync 명령은 매번 너무 오래 걸립니다

rsync 명령은 매번 너무 오래 걸립니다

오랫동안 저는 rsync와 USB 케이블을 사용하여 휴대폰의 SD 카드에서 컴퓨터로 사진을 전송해 왔습니다. 현재 명령은 다음과 같습니다.

rsync -azvu --ignore-existing --progress SD-Karte/DCIM/Camera/  /home/cardamom/Pictures/PhonePictures/

시행착오를 거쳐 문서를 읽는 데 시간이 좀 걸렸습니다. 각 디렉토리에 수천 장의 사진이 있을 수 있지만 컴퓨터가 2,000장의 사진 길이 목록을 비교하는 데 그리 오랜 시간이 걸리지 않을 것이라고 생각하고, 원본에 대상에 없는 내용이 있는 경우 이를 가져옵니다. .

하지만 휴대폰으로 추가 사진을 찍거나, 추가 사진이 없더라도 2~3분 정도 고민하다가 약 1초 만에 사진을 전송해 줍니다.

파일 해시 비교와 같이 필요하지 않은 작업을 수행하는 rsync 명령에 병목 현상이 있는지, 아니면 다소 비효율적인 오래된 스마트폰의 SD 카드에 있는지 확실하지 않습니다.

rsync 명령에 비효율성이 있습니까? 아니면 전화에서 더 빠르게 실행할 수 있는 방법이 있습니까?

답변1

시간이 너무 오래 걸린다면 크기와 시간에만 의존하는 방법은 rsync적용할 수 없기 때문일 수 있습니다 .quick check

다양한 파일 시스템은 다양한 방식으로 시간을 저장합니다. 즉, rsync저장된 내용이 항상 나중에 검색되는 것은 아닙니다.

이런 일이 발생하면 rsync빠른 검사를 적용할 수 없으며 체크섬 검사로 전환되어 동일한 파일인지 확인하기 위해 전체 파일을 강제로 읽어서 전체 전송 속도가 느려집니다.

ls -l --time-style=full-iso original_file
ls -l --time-style=full-iso already_synced_file

이 경우에 대해 알려주십시오. 그렇다면 얼마나 가까운지에 따라 최소한 두 가지 옵션이 있습니다.

  • --size-only시간은 확인하지 않고 크기만 확인하는 옵션을 추가합니다 .
  • --modify-window이를 고려하려면 이 옵션을 사용하십시오 .

답변2

따라서 다음은 내 사진 동기화를 매우 빠르게 실행하는 것 같습니다. 3분이 아닌 3초입니다. 어떤 것이 무엇인지 명확하게 알 수 있도록 약어를 제거했습니다.

time rsync --dry-run --verbose --compress --update --ignore-existing --recursive --group --times --progress --omit-dir-times --no-perms  --modify-window=120   from/here/  /to/here/

더 이상 필요하지 않은 시간을 없애고, 해야 할 일을 하고 있는 것처럼 보이고 아무 것도 해치지 않는 경우에는 연습을 제거하세요.

이것을 빌드할 때 명령에서 꽤 많은 액셀러레이터와 브레이크가 동시에 발생하고 rsync가 불평하지 않은 것을 확인했습니다. 예를 들어, -abeing -rlptgoD, p는 for이고 --perms잠시 동안 나도 --no-perms거기에 있었습니다.

당분간 시범운영을 지켜보며 계속해서 정상적으로 운영되는지 확인하겠습니다.

관련 정보