유용한 운영 자동화는 한 번 실행되는 스크립트 이상이어야 합니다. 버전 관리되고 실행 가능하며 출력이 제어되고 예측 가능한 일정으로 동작해야 합니다. 이 챌린지형 프로젝트에서는 이러한 요소를 작은 로컬 운영 툴킷으로 조립합니다.
Git 흐름을 만들고, Bash 상태 모니터를 작성하고, sed와 awk로 준비된 로그를 변환하고, Cron 항목 두 개를 설치합니다. 단계별 명령 대신 실제 파일, 권한, 저장소 상태, 보고서 내용, Crontab 구문을 검증합니다.
학습 내용
- 로컬 Git 저장소를 초기화하고 제외 규칙을 정의하며
develop브랜치에서 기준 커밋 만들기 - 루트 파일 시스템 사용량과 Nginx 상태를 타임스탬프와 함께 보고하는 실행 가능 Bash 스크립트 작성하기
df로 디스크 사용량을 추출하고systemctl,service,pgrep중 하나로 서비스 확인하기sed와awk로DEBUG레코드를 제거하고 IPv4를 가린 뒤 로그 필드 재구성하기- 지정된 시간, 가림 태그, 메시지 형식의 깨끗한 보고서와 실행 가능 처리기 만들기
- 모니터를 5분마다, 로그 처리를 매일
02:00에 예약하고 모니터 오류를 파일로 보내기
추천 대상
단계별 명령 없이 Git, Bash, 텍스트 처리, Cron을 결합할 준비가 된 Linux 및 DevOps 학습자에게 적합합니다.
선수 지식: 셸 스크립트, 실행 권한, Git 기초, 파이프라인, sed, awk, 프로세스 또는 서비스 확인, Crontab 구문에 익숙해야 하는 평가형 프로젝트입니다.
학습 환경: Bash, Git, Cron, Nginx 관련 서비스 상태, GNU/Linux 텍스트 도구와 준비된 파일이 있는 브라우저 기반 Linux 호스트이며 원격 Git이나 클라우드는 필요하지 않습니다.
자주 묻는 질문
Git 단계에서 GitHub 같은 원격 저장소로 푸시하나요?
아니요. /home/labex/ops-toolkit에 로컬 저장소를 만들고 *.tmp, logs/ 제외 규칙과 develop 브랜치, 기준 커밋 하나 이상만 만듭니다.
모니터가 완전한 알림 시스템인가요?
아니요. monitor.sh는 루트 디스크 사용량과 Nginx 활성 상태를 시간과 함께 출력합니다. 임계값, 알림, 메트릭 보관, 대시보드는 없습니다.
로그 처리기는 어떤 형식을 예상하나요?
날짜, 시간, 수준, IPv4, 메시지가 공백으로 구분된 준비된 레코드입니다. DEBUG를 제거하고 IP를 [REDACTED]로 바꾸며 YYYY-MM-DD HH:MM:SS [REDACTED] Message...를 출력합니다.
Cron 챌린지는 작업이 실제 실행될 때까지 기다리나요?
아니요. monitor.sh를 5분마다 실행해 stderr를 monitor.err로 보내고 process_logs.sh를 매일 02:00에 실행하는 정확히 두 항목만 검증합니다.





