rsync
하드 드라이브에서 마운트된 플래시 드라이브로 실행 하면 속도가 매우 느려집니다. --whole-file
스위치를 사용해볼까 생각중입니다 .
왜 더 빠른지 설명해주실 수 있나요? 왜 그것을 사용하는 것을 두려워해서는 안 됩니까? 그리고 그것을 사용하면 어떤 장점과 단점이 있나요? 나는 그것에 대해 많은 정보를 찾지 못했습니다.
rsync 명령:
rsync -avh --delete --no-o --no-g /home/xralf/audio /media/extdevice/rsync_backups/
rsync
하드 드라이브(ext4 파일 시스템)에서 플래시 드라이브(vfat 파일 시스템)로 전환했습니다 .
답변1
--whole-file
먼저 해당 기능을 설명하는 ( ) 에 대한 시스템 문서부터 시작하겠습니다 .-W
man rsync
이 옵션은
rsync
전송된 모든 파일이 그대로 전송되도록 하는 증분 전송 알고리즘을 비활성화합니다.
그런 다음 그는 계속해서 이렇게 말했습니다.
원본 컴퓨터와 대상 컴퓨터 간의 대역폭이 디스크 대역폭보다 높은 경우(특히 "디스크"가 실제로 네트워크 파일 시스템인 경우) 이 옵션을 사용하면 전송 속도가 더 빨라질 수 있습니다. […]
기본적으로 두 가지 작동 모드가 있습니다 rsync
.
로컬 복사본(소스와 타겟이 모두 존재하는 네트워크 파일 시스템 포함)처럼 보인다로컬 파일 시스템의 일부입니다.) 이 경우
rsync
파일 크기와 수정 타임스탬프를 기준으로 전체 파일을 복사하거나 건너뛰도록 선택하세요. 이 경우--whole-file
옵션이 활성화되어 증분 최적화가 발생하지 않습니다. 실제로 파일을 먼저 복사하는 것보다 소스 파일과 대상 파일을 비교하기 위해 읽는 데 시간이 더 걸리기 때문에 거의 대부분 이 기능을 활성화하는 것은 의미가 없습니다.원격 복사본(경로 중 하나에
{host}:{path}
또는{host}::{path}
스타일 구성이 포함되어 있음) 이 경우rsync
로컬 컴퓨터에서 자체 인스턴스를 실행하고 원격 컴퓨터에서 인스턴스를 실행할 수 있습니다. 두 인스턴스는 비교를 위해 소스 파일과 대상 파일을 독립적으로 읽을 수 있으므로 변경 사항만 네트워크를 통해 전송되는 최적화된 상황이 발생하기를 바랍니다. 여기서는--whole-file
기본적으로 활성화되어 있지 않습니다.
시나리오 #1에서는 이 --whole-file
옵션이 기본적으로 활성화되어 있으며 파일 복사는 거의 항상 증분 전송보다 빠릅니다. (로컬 디스크를 읽을 수 있는 경우는 예외입니다.상당히당신이 쓰는 것보다 더 빠릅니다. )
사용중인 경우입니다 (로컬에서 로컬로 복사). 여기서 가장 큰 문제는 2초 단위의 파일 타임스탬프만 있는 VFAT 파일 시스템에 쓰고 있다는 것입니다. 이는 많은 파일이 rsync
오래되었다고 생각하여 불필요하게 다시 복사한다는 것을 의미합니다.
여기서 수정하세요사용됩니다( 자세한 내용은 --modify-window=1
설명서 참조 ).man rsync
나도 읽었다시간대가 여름과 겨울 사이에 변경되는 경우 rsync
관련 시간대 합병증을 피하기 위해 UTC로 명령을 실행해야 하지만 직접 테스트하지는 않았습니다.
TZ=UTC rsync -rtvh --modify-window=1 --delete /home/xralf/audio /media/extdevice/rsync_backups/
시나리오 #2에서는 이 --whole-file
옵션이 기본적으로 비활성화되어 있으며 일반적으로 실수로 전체 파일을 보내는 것보다 더 빠른 증분 파일 전송이 발생합니다. 예외는 소스와 대상 간의 차이를 계산할 수 있는 것보다 더 빠르게 네트워크를 통해 데이터를 전송할 수 있는 경우입니다. 예를 들어 10Gb/s 네트워크의 경우일 수 있습니다.
rsync
결론: 일반적으로 내장된 최적화를 속이려고 해도 상황이 나아지지 않으며 일반적으로 전송 속도가 더 나빠집니다. 활성화하거나 비활성화하지 말고 선택 --whole-file
하도록 하십시오 rsync
. 그러나 VFAT 파일 시스템에 관한 한 이를 사용하지 않으려고 노력하십시오. 그러나 그렇게 할 수 없는 경우에는 실제로 rsync
몇 가지 추가 도움을 제공해야 합니다.