2009-03-11 2 views
1

네트워크를 통해 폐기 될 전체 Linux 서버를 복사하여 손실 된 것이 없음을 확인하고 싶습니다. rsync가 할 수없는 것을 어떻게 볼 수 있습니까?

나는 du /했다 이하 60 GB/

은 그 때 나는 rsync -r/[email protected]:/old-server을했고, old-server 디렉토리에 du을 할 때 나는 22 기가 바이트 가지고가 들었다.

그렇다면 그 차이는 무엇입니까? du 볼 수있는 것이 있습니까? rsync은 복사 할 수 없습니까?

답변

3

파일 핸들이 열려 있기 때문에 아직 할당을 취소 할 수없는 파일을 삭제했을 수 있습니다. (나는 이전에 du가 그 사용법을 볼 수는 없다는 것을 알지 못했지만, 일부 테스트는 그것을 보여 주었다.) lsof을 사용하여 이것을 조사 할 수있다. 이것의 두 가지 주요 원인은 DROP TABLE을 사용하지 않고 아파치 로그를 삭제하고 파일 시스템에서 mysql 테이블을 삭제하지 않고 아파치 로그를 삭제하는 것입니다.

+0

나는 이것이 df 출력에는 영향을 미치지 만 du에는 영향을 미치지 않을 것이라고 생각한다. –

+0

이전에 df를 통해서만 다루었 기 때문에 이전에 그렇게 생각했습니다. 내 대답에 나와 있듯이, 테스트 결과 내가 틀렸다고 나타났습니다. du는 --apparent-size가 아니라고 말하지 않으면 꽤 낮은 수준의 디스크 사용량을 분석합니다. – chaos

+0

--apparent-size는 삭제 된 파일이 아닌 스파 스 파일과 관련이 있습니다. du는 볼 수있는 파일 만 계산하고 삭제 된 파일은 볼 수 없습니다. –

0

예를 들어 /proc, /sys, /tmp과 같이 복사하지 말아야하는 특수 파일 시스템이 있습니다. 그들은 당신이 보는 차이점을 설명 할 수 있지만 어쨌든 너무 컸습니다.

읽을 수없는 디렉토리가있을 수 있습니다 (예 : r 또는 x이없는 경우). root 권한으로 실행중인 프로세스가 먼저 사용 권한을 수정하지 않고 이러한 디렉터리에 액세스 할 수 있는지 여부를 기억하지 않습니다.

파일 목록과 해당 md5 합계를 더 잘 생성하고 비교하십시오. 변경된 내용 확인 후, 새 서버에 이전 서버에 vimdiff 두 파일을 cd /old-server; find . > /tmp/newcd /; find . > /tmp/old을 실행하면, 당신은 차이를 정확히 알아낼 수있는 당신의 손에 약간의 시간을 가지고있는 경우에

0

.

0

제안 :

  • sparse files (사용 -S)
  • hard links (사용 -H)
  • /proc/sys (사용 --exclude 또는 더 나은, -x 및 백업 각각의 파일 시스템 분리)

유사한 상황에서 나는 rsync -axHSW --numeric-ids을 사용하는 경향이 있습니다.

관련 문제