운영 중 · 2024–25
수집 원천·서비스 배포용·on-premise DB 백업 자동화
백업 생성부터 체크섬·분할 압축·NAS 전송·완료 알림까지 정기 실행으로 묶었습니다.
기간2024–2025
소속래브라도랩스(LabradorLabs)
역할데이터 엔지니어 · 인프라 운영/서비스 배포용 DB 백업 주담당
백업 자동화NASMySQL
작업 요약
월 1회 수작업 → 알림 확인 · 약 2년간 자동화 오류 0건
백업이 끝날 때까지 기다려야 했습니다
기존에는 매월 한 번 담당자가 시간을 잡고 백업 스크립트를 실행한 뒤, 완료를 기다렸다가 NAS로 옮겼습니다. 파일이 크면 하루 이상 걸렸고, 중간에 전송이 멈추면 처음부터 상태를 다시 확인해야 했습니다.
자동화한 흐름
월간 스케줄에 맞춰 백업이 시작되고 성공·실패 결과가 메신저로 오도록 연결했습니다. 대용량 전송 중단을 피하려고 MySQL 백업은 200GB, binlog는 10GB 단위로 나눴고, 분할 파일을 다시 합치고 압축을 푸는 스크립트도 작성했습니다.
실제 운영 규모
- MySQL 백업 767GB: 생성 1일 3시간 32분, 200GB 단위 분할
- binlog 72GB: 10GB 단위 분할, 전송·파일 병합용 스크립트 분리
- rsync, 로컬 HDD, NAS mount 방식을 환경에 맞게 선택
- 백업 파일 생성뿐 아니라 분할 파일 검증과 파일 병합·압축 해제 전 저장 공간 확인까지 자동화
결과
월 1회 수작업담당자가 시간을 맞춰 기다리던 작업을 정기 실행으로 전환
상태 공유성공·실패를 메신저에서 바로 확인
백업 파일 처리생성·분할·전송·병합·검증을 같은 스크립트 묶음으로 관리
제가 맡은 부분
수집·배포 DB의 백업 흐름을 정리하고 Shell Script로 생성·분할·병합·압축 해제·정리 절차를 구현했습니다. NAS 보관과 메신저 알림을 연결했고, 운영 중 전송 중단이나 저장 공간 부족이 생겨도 어느 단계에서 멈췄는지 확인할 수 있게 만들었습니다.