IoT HomeNet
Domoticz DB 파일 복구
쪼사마사
2017. 6. 16. 00:38
Domoticz DB 파일 복구
domoticz 는 sqlite3 로 데이터를 저장한다.
domoticz 를 사용하는 큰이유중에 하나는 장기적으로 저장된 (몇년치) 데이터를 그래프로 보여주는 부분이
훌륭한데 간혹 domoticz DB 가 날아가는 경우가 있다.
데시보드 페이지에 접속했는데 등록해놓은 Device 들이 몽땅 날아가서 없는 허탈한 경우가 있다.
라즈베리파이가 리눅스이다 보니 정전에 취약할 수 있다.
정기적인 백업 스크립트를 이용해서 백업되고 있다 하더라도
백업된 db 파일 모두가 복구불능인 상태일 때가 있다.
이럴때 몇년에 걸처 쌓여있는 센서 데이터가 날아가면 조금 속상한 상황이 된다.
이럴때 DB 를 살리는 방법을 기록해 둔다.
먼저 sqlite3 가 없다면 설치
apt-get install sqlite3 |
문제가된 db 파일의 용량이 적당한지 확인하고 파일을 sqlite3 로 연다.
sqlite3 domoticz.db |
다음 명령으로 파일에 문제가 있는지 확인한다.
pragma integrity_check; |
문제가 없다면 Ok 가 나오지만 안나온다면 db 가 깨진것이다.
덤프 파일을 만든다.
.mode insert .output dump.sql .dump .exit |
dump.sql 파일이 DB 파일 크기에 근접한 크기로 생성된다.
text base 이기 때문에 차이가 있을 수는 있다.
dump.sql 파일로 새로 db 파일을 만들어 낸다.
sqlite3 -init dump.sql repaired.db |
생성된 파일을 문제가된 db 와 교체한다.
물론 domoticz 서비스는 내려놓고 교체해야 한다.