2016-07-01 5 views
1

--ignore-existing 옵션에 대해 알고 있고 약간 다른 점이 있는지 궁금합니다.rsync를 사용하여 덮어 쓰지 않고 백업하십시오.

내 상황은 다음과 같습니다. 사용자 업로드 사진이 많은 웹 서버가 있습니다. 지금은 약 2TB입니다. 일반적으로이 파일은 전혀 수정되지 않습니다. 나는 rsync를 사용하여 다른 서버에 백업한다.

하지만 일부 파일이 손상된 경우 어떻게해야합니까? 파일의 절반이 사라 졌다고 가정 해보십시오. 백업으로 복사되고 이전의 올바른 파일을 덮어 쓰므로 백업도 손상됩니다.

--ignore-existing을 사용할 수 있습니다. 그러나 일부 파일이 여전히 변경된 경우 (매우 드물게 가능하지만 가능할 경우) 어떻게됩니까? 이 옵션을 사용하면 백업에 새 파일이 생성되지 않습니다.

변경된 파일의 모든 버전을 백업하고 싶습니다. 가능한가? 즉 : rsync가 해당 파일을 이미 정의한 경우 기존 파일을 ../previous-TIMESTAMP/oldFileHere으로 이동 한 후 새 파일을 이전 위치에 둡니다.

이 방법이 있습니까?

답변

2

rsync 대신 rsnapshot을 사용하고 싶습니다. 이전 버전의 파일을 복구하기 위해 특별히 제작되었습니다. 디렉토리 ~/.snapshots에 시간별, 주별 및 월별로 파일 버전을 제공합니다.

파일이 작 으면 git 레포에 넣어 시간 기준이 아닌 수정 기준으로 버전을 적용하는 것이 좋습니다. 그게 내가 데이터베이스, 도트 파일 및 개인 메모로 수행하는 작업입니다.

2

당신이이 같은 접미사 대상 파일을 사용할 수 있습니다 rsnapshot도 사용하지 않을 경우 :

rsync --backup --suffix=`date +'.%F_%H-%M'` ~/life_story.txt /media/myusername/backupdrive/life_story.txt 

참고 :

  • 복사물은 "스마트"가 될 것입니다 - 만약 소스와 대상이 동일하고 새로운 타임 스탬프 백업이 생성되지 않습니다 (좋은 상태 임)
  • 파일 접미사 대신 하위 디렉토리를 사용하는 옵션이 있지만 직접 시도하지 않았습니다.
관련 문제