epmfs의 기본 정책을 사용하여 mergefs를 설정했습니다. 즉 , local/target/
모든 디스크에 파일을 복사 하면 local/target/
각 파일은 복사 당시 여유 공간이 가장 많은 디스크에 복사됩니다.
디렉토리 가 모든 디스크에 복사되었지만 그 안에 아무것도 없는 경우 rsync
에 표시된 것처럼 원격 시스템에서 파일을 전송하는 데 사용하고 싶습니다 . 파일이 꽉 차면 잘 작동합니다. 마지막 파일 전송이 완료된 후에만 다음 파일이 생성되므로 개별 파일이 예상대로 디스크에 고르게 분산됩니다. 하위 디렉터리가 많은 경우 파일이 전송되기 전에 모든 하위 디렉터리가 한 번에 생성됩니다. 이는 모든 하위 디렉터리가 파일과 같이 여러 디스크에 분산되지 않고 하나의 디스크에만 생성되므로 epmfs의 예상 동작을 깨뜨립니다.rsync -rt user@remote:/remote/target/ local/target/
local/target/
/remote/target/
/remote/target/
rsync
실제 하위 디렉터리 내용이 전송되기 전에 하위 디렉터리를 하나씩 강제로 생성하는 방법이 있습니까 ?
이는 다음 하위 디렉터리가 생성되면 첫 번째 디스크의 여유 공간이 낮아지고 다음 디스크를 선택할 수 있음을 의미합니다. 및 rsync
같은 몇 가지 옵션을 시도했지만 이 동작을 변경하는 것은 아무것도 없는 것 같고 맨페이지의 다른 어떤 것도 디렉토리 생성을 억제하는 방법을 나타내는 것 같지 않습니다. 또는 epmfs 정책의 예상 동작에 영향을 주지 않고 이 문제를 해결할 수 있는 다른 방법이 있습니까?-O
--no-i-r
모두와 의논한 끝에센티미터한 가지 옵션은 rsync
전송되는 각 하위 디렉터리에 대해 별도로 실행하는 것이지만 가능하면 그렇게 하지 않는 것이 좋습니다. 이상적으로는 전반적인 전송 진행 상황을 표시하고 실패한 전송을 복구하는 등의 방법을 사용하고 싶습니다.
이것은 여러 버전을 수행하는 가장 간단한 방법이지만 rsync
수신 측이 아닌 송신 측에서 실행하는 경우에만 작동합니다.rsync
find /local/target/ -type d -mindepth 1 -maxdepth 1 -exec sh -c 'rsync -rt "{}" [email protected]:/remote/target/' \;