피드로 돌아가기
Dev.toDevOps
원문 읽기
개발자가 크론 작업의 작은 문제들을 즉시 수정하는 방식으로 주간 디버깅 시간과 운영 스트레스 대폭 감소
I tested two ways to keep cron jobs healthy. The boring one won.
AI 요약
Context
작은 자동화 문제들(임시 파일 방치, 로그 무제한 증가, 상대 경로 의존)을 무시하고 계속 배포했다. 각 문제는 개별적으로는 해롭지 않지만 결합되면 운영 오버헤드와 디버깅 시간이 크게 증가했다.
Technical Solution
- Shell 스크립트에
set -euo pipefail추가: 스크립트 실패 시 즉시 중단하고 false-success 방지 - 임시 파일 정리를
trap cleanup EXIT로 자동화: 스크립트 종료 시 자동으로rm -rf $TMP_DIR실행 - 상대 경로 대신 절대 경로 사용: 크론 작업이 실행 디렉토리에 의존하지 않도록 변경
- 정리 작업을 멱등성 있게 구성: 파일이 이미 삭제되었거나 폴더가 비어있어도 스크립트가 정상 완료되도록 수정
Impact
1주일 후 로그 파일 열람 횟수 감소, 작업 재실행 빈도 감소, 이상 출력 확인 빈도 감소를 확인했다.
Key Takeaway
자동화 시스템의 작은 문제는 즉시 수정하면 단기적으로 5분 더 걸리지만, 주간 단위로는 디버깅 시간과 운영 인터럽트가 크게 줄어든다. 깔끔한 자동화는 주의를 덜 요구하고 신뢰성이 높아진다.
실천 포인트
크론 작업이나 쉘 스크립트를 운영하는 팀에서 `set -euo pipefail`, `trap cleanup EXIT`, 절대 경로, 멱등성 있는 정리 로직을 처음부터 적용하면 주간 디버깅 세션과 야간 장애 대응 빈도를 현저히 줄일 수 있다.