저는 rsync
원격 컴퓨터의 대용량 하드 드라이브를 백업하는 데 사용합니다. 기본적으로 rsync
원격 컴퓨터의 파일은 로컬 컴퓨터에 더 이상 존재하지 않더라도 삭제되지 않습니다. 이는 예를 들어 실수로 삭제된 파일을 복구하려는 경우 복구할 수 있기 때문에 유용하며, 이는 또한 빈 디렉터리를 rsync하는 것에 대해 걱정할 필요가 없다는 것을 의미합니다(하드 드라이브가 죽은 경우) 또는 마운트 해제됨). 문제는 원격 호스트에서 많은 디스크 공간을 필요로 하고, 백업을 복원해야 할 경우 이렇게 삭제된 파일들로 오염될 것이라는 점이다.
또 다른 옵션은 이지만 rsync --delete
이는 백업을 처음 실행할 때 삭제된 파일도 삭제되고 마운트 지점이 비어 있으면 백업을 삭제할 위험도 있다는 것을 의미합니다.
rsync
이상적으로는 유사한 작업을 수행하도록 지시하는 방법이 있으면 좋겠지만 --delete
파일을 삭제하는 대신 해당 파일을 다른 백업 계층 구조로 이동합니다. 이렇게 하면 필요한 경우 해당 파일을 계속 복원할 수 있고 두 번째 계층에서 더 큰 파일을 정리하여 공간을 절약할 수 있으며, 기본 백업 계층은 내 드라이브의 깨끗한 백업이 됩니다.
이 행동을 흉내낼 수 있는 방법이 있나요? (또는 유사한 동작)
(원격 호스트에서 두 개의 전체 백업을 유지 관리할 디스크 공간이 충분하지 않습니다. 또한 증분 백업 도구가 존재한다는 것을 알고 있습니다.보그 백업, 하지만 저는 맞춤형 저장 형식을 갖춘 무거운 도구에 의존하지 않는 솔루션을 원합니다. 나는 또한 하드 링크를 사용하는 솔루션에 대해 약간 경계하지만 그것이 최선의 선택이라면 괜찮습니다. )
답변1
당신은 그것을 사용할 수 있습니다--지원
-b, --backup 이 옵션을 사용하면 각 파일이 전송되거나 삭제될 때 기존 대상 파일의 이름이 변경됩니다.
결합하다--백업 디렉터리
--backup-dir=DIR --backup 옵션과 함께 사용하면 rsync가 수신 측의 지정된 디렉터리에 모든 백업을 저장하도록 지시합니다. 증분 백업에 사용할 수 있습니다.
수정 및 삭제된 파일의 복사본을 수신 측의 별도 디렉터리에 보관하세요.
삭제된 파일만 백업에 보관하려면 동기화 후 업데이트된 파일을 개별적으로 제거할 수 있습니다(예:이와 같이).