파일 수정 시간이나 크기에 관계없이 보안 네트워크를 통해 작은 파일을 복사하는 가장 빠른 방법

파일 수정 시간이나 크기에 관계없이 보안 네트워크를 통해 작은 파일을 복사하는 가장 빠른 방법

dir1과 dir2(두 개의 다른 서버)의 파일을 동기화하고 싶습니다.

파일 크기나 수정 시간이 달라도 상관없습니다.

예: dir1에는 file1, file2, file3, file4가 포함되고 dir2에는 file2, file3, file5가 포함됩니다.

file5를 dir1에 복사하고 file1, file4를 dir2에 복사하고 싶습니다.

file3 수정 시간과 마찬가지로 file2 크기도 다르지만 상관하지 않습니다. 내 네트워크도 비공개이므로 보안 오버헤드를 원하지 않습니다.

가장 빠른 것은 무엇입니까?

NFS 마운트를 통한 rsync, scp 또는 cp? 그리고 정확하게 해당 명령줄은 무엇입니까?

답변1

제한 요소는 네트워크 대역폭일 가능성이 높기 때문에 이는 대체로 학문적입니다. 실제로 주목해야 할 유일한 것은 파일 크기와 작업 수입니다. 작은 파일이 많으면 작은 복사 작업도 많이 발생합니다.

그러나 현재로서는 '상황에 따라' 다르기 때문에 무엇이 '가장 빠를' 것인지 확실히 말하기는 어렵습니다.

rsync복사를 하기 전에 필요한 작업이 있는지 확인한다는 간단한 이유 때문에 에 문제가 많다는 사실을 알게 되면 놀랄 것입니다 . 필요하지 않은 것을 복사하지 않는 것보다 더 효율적인 방법은 없습니다.

작은 파일이 많으면 tar더 나은 방법을 찾을 수 있습니다. tar테이프에 쓰기 위해 설계되었으므로 네트워크를 통해 디렉터리 구조를 스트리밍하는 데 매우 좋습니다. 예를 들어

tar cvfz - ./path_to_copy | ssh $remotehost "( cd $destination && tar xvfz - )"

관련 정보