재동기화 트랜잭션?

재동기화 트랜잭션?

rsync를 사용하여 두 컴퓨터 간에 데이터 변경 사항을 이동합니다. PC2의 데이터 디렉터리를 USB 스틱에 백업한 다음 USB 스틱을 PC1에 연결하고 rsync를 실행하여 USB 스틱에 저장된 데이터 디렉터리를 기반으로 PC1의 데이터 디렉터리를 업데이트했습니다. 저는 제가 정말 좋아하는 아주 귀여운 작은 플래시 16Gb를 사용합니다. 데이터가 16GB를 초과합니다.

나는 항상 다음 rsync 명령을 사용합니다.

from=/home/y/data;to=/media/y/16g_flash/_backup_data/; rsync -av --delete $from $to

내 컴퓨터에서 삭제한 USB 플래시 드라이브에서 파일을 삭제했습니다. 그리고 마지막 수정 시간을 기준으로 새 파일을 추가하거나 파일을 업데이트합니다.

이제 데이터가 USB 드라이브의 공간보다 무거워졌습니다.나는 내 16Gb USB 스틱을 좋아하며 내 손과 당신의 조언을 사용하여 내 문제를 해결하기를 바랍니다., 다른 256Gb 메모리 스틱을 사용하지 않는 등.

내가 본 해결책은 업데이트된 파일만 복사하고 파일 목록(권한 및 마지막 수정 시간)이 포함된 텍스트 파일을 사용하여 어떤 파일이 삭제, 업데이트, 추가되었는지 비교하는 것이었습니다. 다음과 같이 진행하세요:

  1. 데이터 디렉터리: /home/y/data를 내 PC인 PC1과 PC2에 복사했습니다. 그래서 다른 컴퓨터에 있는 동일한 파일 목록으로 시작했습니다.
  2. 파일 목록을 USB 드라이브의 /media/y/16g_flash/pc1_data.txt 및 /media/y/16g_flash/pc2_data.txt에 저장했습니다. 이 파일들은 처음부터 동일합니다.
  3. 저는 PC2에서 작업합니다. 일부 파일을 삭제하고, 업데이트하고, 새 파일을 생성합니다. 그래서 내 PC2의 데이터 디렉토리는 실제가 되었지만 PC1의 데이터 디렉토리는 비현실적이 되어 업데이트가 필요했습니다.
  4. 새 파일을 복사하고 업데이트된 파일을 USB 스틱에 복사하기 위해 PC2에서 rsync를 실행했습니다. 또한 PC2의 새 파일 목록을 /media/y/16g_flash/pc2_data.txt에 저장했습니다. 이 파일 목록은 /media/y/16g_flash/pc1_data.txt 파일보다 나중에 수정되었기 때문에 실제입니다. 따라서 여기 내 USB 스틱에는 내가 변경한 파일 중 일부만 포함되어 있으며 PC2에 있는 데이터 디렉터리의 파일 목록에 대한 "스냅샷"도 포함되어 있습니다.
  5. PC1로 이동하여 rsync를 실행하여 USB 스틱에서 PC1로 새 파일과 업데이트된 파일을 복사했습니다. 또한 /media/y/16g_flash/pc2_data.txt에 없는 파일을 삭제했습니다. 이는 해당 파일을 PC2에서 삭제했다는 의미입니다. 마지막으로 PC1의 데이터 디렉터리를 동기화했습니다.

이렇게 하면 모든 파일을 USB에 저장하지 않아도 됩니다. 나는 "마지막 거래"만 저장합니다.

  • 신규 및 업데이트된 문서
  • 그리고 현재 파일 목록.

이는 아마도 내 데이터 디렉토리가 사용하는 20GB 대신 USB 스틱의 100Mb 공간만 사용했을 것입니다.

rsync를 사용할 수 있나요?

내 데이터 디렉터리를 /media/y/16g_flash/pc1_data.txt 파일의 파일 목록과 비교하는 방법을 잘 모르겠습니다. 또한 /media/y/16g_flash/pc2_data.txt 목록에 존재하지 않는 경우 내 PC1의 이전 파일을 삭제하는 방법을 잘 모르겠습니다. rsync가 이를 수행합니까, 아니면 bash 스크립트를 입력해야 합니까? ?

관련 정보