너무 오래;
파일을 실행한 후에는 rsync -aPc --no-inc-recursive --stats <source> <destination>
다릅니다 .
홈 랩 NAS를 수리하고 있는데 파일이 정확히 동일한지 확인하고 싶습니다.
내 시스템 사양:
- Proxmox VM에서 실행되는 openmediavault 5.6.13-1(Debian)
- 소스 파일 시스템: EXT4
- 대상 파일 시스템: EXT4
- 드라이브는 SATA 케이블을 통해 마더보드에 연결됩니다.
백그라운드에서 실행되는 스크립트를 만들었습니다. 먼저 파일을 동기화한 다음 비교하여 백업을 확인합니다.
echo "rsync /documents"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/documents /srv/dev-disk-by-uuid-ID2
echo "rsync /photos"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/photos /srv/dev-disk-by-uuid-ID2
echo "rsync /movies"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/movies /srv/dev-disk-by-uuid-ID2
echo "rsync /music"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/music /srv/dev-disk-by-uuid-ID2
echo "rsync /downloads"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/downloads /srv/dev-disk-by-uuid-ID2
echo "cmp all start"
find /srv/dev-disk-by-uuid-ID1 -type f -exec sh -c '
for f; do
cmp "$f" /srv/dev-disk-by-uuid-ID2"${f#/srv/dev-disk-by-uuid-ID1}"
done
' sh {} +
echo "cmp all finish"
cmp 명령은 다음과 같은 "오류"를 제공합니다 /srv/dev-disk-by-uuid-ID1/photos/DSC01010.ARW /srv/dev-disk-by-uuid-ID2/photos/DSC01010.ARW differ: byte 70406147, line 285859
.
이러한 문제의 원인은 무엇입니까?
파일이 올바르게 복사되었는지 어떻게 확인합니까?
답변1
rsync
내가 본 모든 오류는 RAM 오류 또는 파일 시스템 손상(한 경우에는 느슨한 SCSI 케이블)으로 인해 발생했습니다. Memtest86+를 사용하여 RAM을 확인하고 e2fsck
파일 시스템에서 실행하여 문제를 찾거나 수정할 수 있습니다.
모든 하드웨어 커넥터가 제자리에 있고 올바르게 작동하는지 확인하십시오(SCSI/IDE/SATA/USB 케이블이 느슨함).
USB 스틱을 과도하게 사용하면 rsync
시간이 지남에 따라 이러한 스틱이 마모되고 일반적으로 시스템 시작 시 fsck를 수행하지 않으므로 오류가 쉽게 감지되지 않습니다. 간단한 접근 방식 e2fsck/fsck
도 도움이 될 것입니다.