정보공유 목록으로
#지식공유

Day 8. crontab 운영 기본: 등록, 로그, 변경이력 관리

<h2>학습 목표</h2><p>crontab 작업을 단순 등록하는 수준을 넘어, 로그와 변경 이력까지 운영 가능한 형태로 관리하는 방법을 학습합니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>스케줄 작업은 사람이 직접 실행하지 않기 때문에 실패해도 늦게 발견되는 경우가 많습니다.</p><div contenteditable="false"><hr></div><h2>왜 관리 기준이 필요한가</h2><p>크론 작업은 한 줄로 등록할 수 있지만, 누가 왜 만들었는지 남기지 않으면 장애 분석이 어렵습니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>특히 백업, 로그 정리, 배치 작업은 실패하면 시간이 지난 뒤 문제가 드러납니다.</p><div contenteditable="false"><hr></div><h2>1) 기존 작업 확인</h2><div data-language="bash" class="toastui-editor-ww-code-block"><pre><code data-language="bash">crontab -l</code></pre></div><h3>crontab</h3><p><code data-backticks="1">crontab</code>은 사용자별 예약 작업을 관리하는 명령어입니다.</p><p><br class="ProseMirror-trailingBreak"></p><p><code data-backticks="1">crontab -l</code>은 현재 사용자에게 등록된 작업 목록을 보여줍니다.</p><h3>왜 먼저 확인하는가</h3><p>새 작업을 등록하기 전에 기존 작업과 실행 시간이 겹치지 않는지 확인해야 합니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>백업 작업과 로그 압축 작업이 동시에 돌면 디스크 I/O가 몰릴 수 있습니다.</p><div contenteditable="false"><hr></div><h2>2) 로그를 포함한 작업 등록</h2><div data-language="bash" class="toastui-editor-ww-code-block"><pre><code data-language="bash">echo "0 2 * * * /usr/local/bin/backup.sh &gt;&gt; /var/log/cron_backup.log 2&gt;&amp;1" | crontab -</code></pre></div><h3>0 2 * * *</h3><p>매일 02:00에 실행한다는 의미입니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>분, 시, 일, 월, 요일 순서입니다.</p><h3>&gt;&gt; 리다이렉션</h3><p><code data-backticks="1">&gt;&gt;</code>는 기존 로그 파일에 결과를 이어서 저장합니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>기존 로그를 덮어쓰지 않으므로 작업 이력을 남길 수 있습니다.</p><h3>2&gt;&amp;1</h3><p>표준 오류를 표준 출력과 같은 위치로 보냅니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>성공 출력과 실패 메시지를 같은 로그 파일에서 확인할 수 있습니다.</p><div contenteditable="false"><hr></div><h2>3) 실행 흔적 확인</h2><div data-language="bash" class="toastui-editor-ww-code-block"><pre><code data-language="bash">crontab -l
grep CRON /var/log/cron | tail -n 20</code></pre></div><h3>grep CRON</h3><p>cron 데몬이 남긴 실행 흔적을 찾습니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>작업이 등록되어 있어도 실제 실행되지 않았다면 로그에서 확인해야 합니다.</p><h3>tail -n 20</h3><p>최근 20줄만 봅니다.</p><p><br class="ProseMirror-trailingBreak"></p><p>운영 로그는 길기 때문에 최근 실행 결과부터 확인하는 것이 효율적입니다.</p><div contenteditable="false"><hr></div><h2>신규직원 실습 절차</h2><ol><li><p>기존 crontab 목록을 확인합니다.</p></li><li><p>실행 시간과 로그 경로를 포함해 작업을 등록합니다.</p></li><li><p>등록 결과와 실행 흔적을 확인합니다.</p></li><li><p>작업 목적과 담당자를 문서화합니다.</p></li></ol><div contenteditable="false"><hr></div><h2>연계실습</h2><ul><li><p>연계실습 텍스트: crontab 운영 스케줄 파일 작성</p></li><li><p>실습 바로 시작: <a href="https://learnix.kr/server_cbt?id=220&amp;amp;from=%2Flearn_linux">문제 220 실습 시작하기 →</a></p></li></ul><div contenteditable="false"><hr></div>

<!-- publish_key:rocky8-day08-post -->

---

## 연계 실습

이 글에서 다룬 내용을 직접 명령어로 쳐 보면 훨씬 오래 남습니다.

- [리눅스마스터 실기 crontab 문제 연습 →](https://learnix.kr/linuxmaster)
- [리눅스 명령어 실습 코스 →](https://learnix.kr/learn_linux)

댓글 0

등록된 댓글이 없습니다.