운영 중 · 2024–25

수집 원천·서비스 배포용·on-premise DB 백업 자동화

백업 생성부터 체크섬·분할 압축·NAS 전송·완료 알림까지 정기 실행으로 묶었습니다.

기간2024–2025
소속래브라도랩스(LabradorLabs)
역할데이터 엔지니어 · 인프라 운영/서비스 배포용 DB 백업 주담당
백업 자동화NASMySQL

작업 요약

월 1회 수작업 → 알림 확인 · 약 2년간 자동화 오류 0건

백업이 끝날 때까지 기다려야 했습니다

기존에는 매월 한 번 담당자가 시간을 잡고 백업 스크립트를 실행한 뒤, 완료를 기다렸다가 NAS로 옮겼습니다. 파일이 크면 하루 이상 걸렸고, 중간에 전송이 멈추면 처음부터 상태를 다시 확인해야 했습니다.

자동화한 흐름

전체 구조를 먼저 보고, 크게 열어 세부 내용을 확인하세요.크게 보기ExcalidrawMermaid
DB 백업·검증·보관 구조. 월간 스케줄에서 저장 공간과 DB 상태를 확인한 뒤 백업을 생성합니다. MySQL은 200GB, binlog는 10GB 단위로 분할·검증해 NAS에 보관하고 성공·실패를 메신저에 알립니다. 파일 재구성 스크립트는 분할 파일 병합과 압축 해제를 담당합니다.
월간 스케줄에서 저장 공간과 DB 상태를 확인한 뒤 백업을 생성합니다. MySQL은 200GB, binlog는 10GB 단위로 분할·검증해 NAS에 보관하고 성공·실패를 메신저에 알립니다. 파일 재구성 스크립트는 분할 파일 병합과 압축 해제를 담당합니다.

월간 스케줄에 맞춰 백업이 시작되고 성공·실패 결과가 메신저로 오도록 연결했습니다. 대용량 전송 중단을 피하려고 MySQL 백업은 200GB, binlog는 10GB 단위로 나눴고, 분할 파일을 다시 합치고 압축을 푸는 스크립트도 작성했습니다.

실제 운영 규모

결과

월 1회 수작업담당자가 시간을 맞춰 기다리던 작업을 정기 실행으로 전환
상태 공유성공·실패를 메신저에서 바로 확인
백업 파일 처리생성·분할·전송·병합·검증을 같은 스크립트 묶음으로 관리

제가 맡은 부분

수집·배포 DB의 백업 흐름을 정리하고 Shell Script로 생성·분할·병합·압축 해제·정리 절차를 구현했습니다. NAS 보관과 메신저 알림을 연결했고, 운영 중 전송 중단이나 저장 공간 부족이 생겨도 어느 단계에서 멈췄는지 확인할 수 있게 만들었습니다.