
내 홈 디렉토리에 하나의 큰 폴더 "X"가 있고 플래시 드라이브에 이 폴더의 오래된 복사본이 있습니다. Y. 와 유사한 것은 무엇입니까 rm Y; cp X Y
? 하지만 기존 파일을 덮어쓰지 않습니까?
답변1
더 많은 속성이 있습니다재동기화이전 답변에서 언급한 것보다. 당신은 그것들을 직접 조사해야 합니다:
man rsync
그러나 귀하의 문제에 대해서는 다음을 제안합니다.
rsync -a --delete X Y
이런 식으로 수신자(Y)는 X에 없는 모든 파일을 삭제합니다. 하지만 올바르게 수행했는지 확인하십시오. 루트를 잘못 사용하면 시스템이 쉽게 종료될 수 있습니다... :)
답변2
보세요재동기화(1). 그것은 당신이 원하는 것을 거의 정확하게 수행하기 위한 것입니다.
rsync -av X Y
자체 프로토콜이나 SSH를 통해 원격 복사를 지원하지만 로컬에서도 사용할 수 있습니다.
원하는 정확한 동작에 따라 옵션을 전달할 수도 있습니다 --update
. 이렇게 하면 rsync가 대상에 이미 존재하고 소스에 있는 파일보다 최신인 파일을 덮어쓰지 않도록 지시합니다.
추가 파일(예: Y에는 있지만 X에는 없는 파일)을 제거하려는 경우 옵션을 추가할 수 있습니다 --delete
.
답변3
당신은 사용할 수 있습니다Fitus/Zaloha.sh. 먼저 필요한 동기화 작업을 계산하여 사용자에게 제시하고 확인을 요청한 후 실행합니다.
$ Zaloha.sh --sourceDir="X" --backupDir="Y"
답변4
-u(업데이트) 옵션에서 찾고 있는 기능 중 일부가 실제로 이 옵션에 존재한다고 생각합니다.
"--ignore-existing" - 수신자에 존재하는 파일 업데이트를 건너뜁니다.