매일 밤 백업이 돌고 있었다. 그런데 한 번도 복원해 본 적이 없었다. 불안해서 주말에 새 서버를 하나 빌려 복원 훈련을 했다. 결과는 반쯤 실패였다.
발견한 문제
- DB 덤프에 트리거가 빠져 있었다.
- 첨부 파일 백업이 권한 문제로 절반만 복사되고 있었다.
- 복원 절차를 아는 사람이 나 하나뿐이었다.
# 고친 백업 명령
mysqldump --single-transaction --routines --triggers mydb | gzip > db-$(date +%F).sql.gz
tar --exclude='files/cache' -czf files-$(date +%F).tar.gz files석 달에 한 번, 다른 서버에 실제로 복원해 보는 일정을 달력에 넣어 두었습니다.
복원 훈련을 한 뒤로 새벽 알림이 와도 덜 무섭다. 최악의 경우에도 어디까지 되돌릴 수 있는지 알기 때문이다.
코드 한 줄
