-mtime과 일치하는 파일을 한 디렉터리 트리에서 다른 디렉터리 트리로 이동하고 아직 존재하지 않는 동일한 하위 디렉터리 경로를 유지하는 매우 효율적인 방법을 찾아야 합니다.
예를 들어. /dirA/subdir1/subdir2/filename을 /dirB/subdir1/subdir2/filename으로 이동합니다.
그 중 subdir1/subdir2는 이동 시 dirB/ 아래에 존재할 수도 있고 존재하지 않을 수도 있습니다.
효율적이라는 것은 다음 빙하기 전에(바람직하게는 24시간 이내) 수백만 개의 파일이 포함된 트리에서 이 작업을 수행하는 것을 의미합니다.
Rsync를 생각했는데 누군가가 이런 종류의 일치하는 단일 파일 호출에는 그다지 효율적이지 않다고 말했습니다.
이것이 동일한 저널 파일 시스템에 있는 경우 파일 이동은 실제 블록 재작성이 아닌 파일 시스템 디렉터리 메타데이터의 작업이므로 더 효율적입니까?
답변1
벤치마크 rsync. 그래도 문제가 해결되지 않으면 다음을 시도해 보세요.
find /dirA -mtime $whatever -print |
xargs tar -cpf - |
{ cd /dirB && tar -xvf -; }