Raspberry Pi SD 카드의 내용을 자동으로 백업하기 위해 얼마 전에 작성한 스크립트를 편집하고 있는데 편집 과정에서 "/"를 놓쳤으므로 전체 쉘 스크립트는 다음과 같습니다.
#!/bin/bash
date
echo BACKING UP RASPBERRY PI
sudo dd if=/dev/mmcblk0p2 of=/media/USBDRIVE/RPi-Backups/RPi-Backup-$(date +"%m_%d_%Y").img bs=10M
echo COMPRESSING RASPBERRY PI BACKUP
sudo gzip -9 -c /media/USBDRIVE/RPi-Backups/RPi-Backup-$(date +"%m_%d_%Y").img > /media/USBDRIVE/RPi-Backups/RPi-Backup-$(date +"%m_%d_%Y").img.gz
그렇게 하고 나니 제가 실수했다는 걸 깨닫고 대본을 중단했어요. 백업이 저장된 디렉토리를 확인했는데 모두 사라졌습니다. 이상하게도 드라이브는 스크립트를 실행하기 전과 동일한 공간(500GB USB 드라이브 크기의 약 절반)을 차지합니다.
내가 아는 한, 백업이 사라져서 백업의 전체 요점이 무효화되었습니다.
이러한 파일을 복구할 수 있는 방법이 있습니까?
그렇지 않은 경우 드라이브를 지우고 다시 포맷하지 않고 공간을 복구할 수 있는 방법이 있습니까?
2015년 1월 업데이트: 이후 제조사와 모델이 다른 새 드라이브에서 이 문제가 발생했으며 두 경우 모두 공간이 여전히 사용되는 동안 200GB 이상의 공간이 사라졌습니다. 서로 다른 두 제조업체에서 만든 서로 다른 드라이브 두 개를 사용하면 이런 일이 두 번 연속으로 발생할 가능성은 거의 없습니다. 백업 스크립트에 이러한 오류를 일으키는 무언가가 있습니까? 파일이 실제로 사라진 경우 디렉토리가 여전히 존재하는 이유는 무엇입니까? 왜 디스크와 운영 체제는 파일이 지워진 것처럼 계산하는 대신(분명히 사라졌기 때문에) 동일한 양의 공간이 여전히 사용 중이라고 생각합니까?
답변1
ls: reading directory /media/USBDRIVE/RPi-Backups: Input/output error
이것이 당신의 문제입니다. 항상 오류 메시지를 읽어보세요! 파일은 사라지지 않습니다. 성공하지 못하고 또는 dd
프로세스 gzip
가 I/O 오류로 종료됩니다.
때때로 이 오류는 다소 흔할 수 있지만 여기서는 하드웨어 상황을 능가하는 간단한 파일 시스템을 다루고 있습니다. I/O 오류는 하드웨어에 결함이 있음을 의미합니다. 시스템 로그에 다른 메시지가 있을 수 있습니다. 일반적으로 문제는 하드 드라이브에 있습니다. 때때로 케이블이 파손될 수 있습니다. 다른 케이블을 사용해 보십시오(문제가 해결되는 경우는 거의 없지만 가격이 저렴합니다). 컨트롤러 문제일 수도 있고 드라이버 문제일 수도 있지만 이러한 문제는 드라이브를 50번째 사용할 때보다 빠르게 나타나는 경향이 있습니다.