두 폴더를 "스마트하게" 병합하는 rsync 명령은 무엇입니까?

두 폴더를 "스마트하게" 병합하는 rsync 명령은 무엇입니까?

실수로 중복된 폴더가 있어서 함께 병합해야 합니다. 폴더 A에 파일 X가 포함되어 있고 폴더 B에 파일 Y가 포함되어 있다고 가정해 보겠습니다. 파일 X를 폴더 B에 복사하고 싶습니다. 그러나 물론 폴더 A와 B에 동일한 파일 X가 포함되어 있는 더 복잡한 경우도 있습니다. : 이 경우 파일의 최신 복사본을 유지하고 싶기 때문에 rsync는 두 파일을 모두 비교해야 하며 원본이 오래된 경우 건너뛰고 그렇지 않으면 대상이 오래된 파일이므로 덮어씁니다.

rsync 명령줄에 어떤 매개변수를 입력해야 합니까?

구글링해서 찾은 내용인데 정확하지는 않은 것 같습니다.

rsync -avz --ignore-existing src dest

매뉴얼 페이지는 어떻게 든 저를 넘어선 것입니다.

PS 파일이 두 폴더 모두에 존재하는 경우 더 나은 방법은 이전 파일을 대상 폴더에 덮어쓰는 동시에 이전 파일의 복사본을 보관하는 것입니다. 이전의

답변1

나는 다음을 사용할 것이다:

rsync -abviuzP src/ dest/
  • -i기본 형식보다 더 많은 정보를 표시하는 항목별 형식을 켭니다.
  • -b두 폴더 모두에 존재하는 rsync 백업 파일을 만들어 ~이전 파일에 추가합니다. 다음을 사용하여 이 접미사를 제어할 수 있습니다.--suffix .suf
  • -usrc보다 dest에서 더 새로운 rsync 전송 건너뛰기 파일을 만듭니다.
  • -z압축을 켭니다. 이는 느린 링크를 통해 쉽게 압축할 수 있는 파일을 전송할 때 유용합니다.
  • -P켜지고--partial--progress
  • --partial전송이 중단된 경우 rsync가 부분적으로 전송된 파일을 유지하도록 합니다.
  • --progress각 전송에 대한 진행률 표시줄이 표시되며, 대용량 파일을 전송하는 경우 유용합니다.

관련 정보