rsync를 사용하여 파일 시스템 간의 차이점을 측정하시겠습니까?

rsync를 사용하여 파일 시스템 간의 차이점을 측정하시겠습니까?

이전 nixOS 버전과 최신 버전을 동일한 플레이크/구성으로 업그레이드하고 동일한 버전을 debian 및 ansible로 업그레이드하는 등 파일 시스템 차이점을 테스트하기 위해 몇 가지 실험을 실행하고 있습니다. 나는 어느 것이 가장 유사한지 측정하려고 노력하고 있으며 rsync가 이를 측정하는 데 좋은 도구라고 들었지만 이 목적으로 사용하는 좋은 리소스를 찾을 수 없는 것 같습니다. 파일 시스템의 크기 차이, 다양한 콘텐츠(예: 파일 시스템 간 동일한 파일의 다른 바이트), 누락/기존 파일 등을 측정해야 합니다. 분명히 어떤 종류의 타임스탬프도 포함하고 싶지 않습니다. 사람들은 이런 종류의 일을 측정하기 위해 일반적으로 무엇을 사용하며, rsync라면 어떻게 사용합니까? 관련이 있는 경우 nbd를 사용하여 두 개의 qcow2 이미지를 설치할 계획입니다.

답변1

몇 가지 제안이 있습니다.

상상하다

mkdir -p a/c b/c
date | tee a/1 a/2 > a/c/3
who | tee b/2 > b/c/4
cp a/1 b/1

diff -qr a b

  Files a/2 and b/2 differ
  Only in a/c: 3
  Only in b/c: 4

rsync -nr -iv --delete --size-only --checksum a/ b | grep '^[<*>]'

  >fcsT...... 2      # "2" was in both but different
  *deleting   c/4    # "c/4" was in b but not in a
  >f+++++++++ c/3    # "c/3" was in a but not in b

이 두 명령은 서로 다른 파일과 누락되거나 누락된 파일에 대한 a보고서를 제공합니다 b. (두 가지 모두 안정적으로 기계 분석이 가능하지는 않지만 rsync이점이 있을 수 있다고 생각했습니다. rsync각 줄이 무엇을 나타내는지 반드시 명확하지는 않기 때문에 출력에 주석을 달았습니다.)

일반적으로 diff귀하의 상황에 따라 권장 사항을 제시하지만 귀하가 요청했기 rsync때문에 여기에도 포함하겠습니다.

관련 정보