본문 바로가기
리눅스의 모든 것

리눅스 크론탭 설정법 – 자동화 작업 스케줄러 기초부터 실전까지

by 운따돈 2025. 8. 7.

리눅스를 쓰다 보면 “이 작업 매일 자동으로 실행되면 좋겠다” 싶은 순간이 많아요.
예를 들어, 매일 자정에 백업 스크립트를 실행하고 싶거나,
매주 금요일마다 특정 폴더를 압축하고 싶은 경우죠.

 

이런 반복적인 작업을 손대지 않고 알아서 실행시켜주는 도구가 바로 크론탭(crontab)입니다.
크론탭은 ‘리눅스 자동화의 핵심’이라 불릴 만큼 매우 중요하고 유용한 기능이에요.


하지만 초보자에게는 문법이 생소하게 느껴질 수 있죠.

그래서 이번 글에서는 크론탭을 처음 사용하는 분들도
쉽게 이해하고 바로 실전에서 써먹을 수 있도록
설정 방법부터 예제, 주의사항까지 한 번에 정리해드릴게요!


📌 목차

  1. 크론탭이란?
  2. 크론탭 문법 구조
  3. 크론탭 등록 및 관리 명령어
  4. 자주 쓰는 크론탭 예제
  5. 크론탭 사용 시 주의할 점

1. 크론탭이란?

크론탭(crontab)은 리눅스에서 특정 작업을 정해진 시간에 반복적으로 자동 실행하도록 예약하는 기능이에요.


‘크론(cron)’이라는 데몬이 백그라운드에서 실행되고 있으며,
사용자가 작성한 크론탭 스케줄표를 읽어 실행해주는 구조입니다.

 

윈도우의 작업 스케줄러와 비슷한 기능이지만,
리눅스에서는 더 유연하고 강력하게 활용할 수 있어요.


2. 크론탭 문법 구조

크론탭은 총 5개의 시간 필드 + 명령어로 구성돼 있어요.
기본 문법은 다음과 같습니다:

 

분 시 일 월 요일 명령어

예를 들어,
"0 2 * * * /home/user/backup.sh"
는 매일 새벽 2시에 backup.sh 스크립트를 실행하라는 의미입니다.

0~59 0 → 정각
0~23 2 → 오전 2시
1~31 15 → 매달 15일
1~12 12 → 12월
요일 0~7 (0과 7은 일요일) 1 → 월요일
 

특수 기호도 함께 사용되는데요,

  • 는 ‘매번’이라는 뜻이고, */5 는 ‘5분마다’, 1,3,5 는 ‘월수금’을 뜻해요.

3. 크론탭 등록 및 관리 방법

크론탭을 설정하려면 터미널에서 다음과 같은 명령어들을 사용할 수 있어요.

  • 크론탭 편집: crontab -e
    (처음 실행 시 편집기를 선택하라는 문구가 뜨면 nano를 선택하는 걸 추천드려요.)
  • 등록된 크론탭 확인: crontab -l
  • 크론탭 모두 삭제: crontab -r
  • 특정 사용자 크론탭 보기 (root 권한 필요): crontab -u 사용자명 -l

4. 자주 쓰는 크론탭 예제 모음

  1. 매일 자정에 백업 스크립트 실행
    0 0 * * * /home/user/backup.sh
  2. 매주 금요일 오후 6시에 압축 작업
    0 18 * * 5 tar -czf /home/user/backup.tar.gz /home/user/data
  3. 매 5분마다 서버 상태 로그 저장
    */5 * * * * top -b -n1 >> /home/user/server.log
  4. 매일 오후 3시 10분에 파이썬 스크립트 실행
    10 15 * * * /usr/bin/python3 /home/user/mail.py
  5. 매달 1일 오전 9시에 리포트 스크립트 실행
    0 9 1 * * /home/user/monthly_report.sh

이처럼 원하는 시간대와 명령어만 입력하면,
컴퓨터가 알아서 실행해주는 자동화 환경이 완성됩니다.


5. 크론탭 설정 시 꼭 기억할 주의사항

  1. 절대경로 사용하기
    크론탭은 일반 터미널 환경과 달리 PATH 환경 변수가 다를 수 있어요.
    따라서 명령어는 /usr/bin/python3 같이 정확한 경로를 입력해야 해요.
  2. 스크립트는 실행 권한 부여 필요
    쉘스크립트를 사용할 경우, chmod +x 스크립트이름.sh 명령으로 실행 권한을 꼭 줘야 해요.
  3. 로그 남기기
    작업 결과를 확인하려면 로그로 남겨두는 게 좋습니다.
    예: /home/user/backup.sh >> /home/user/cron.log 2>&1
    (표준 출력과 에러 출력을 모두 저장)
  4. 스크립트 첫 줄에 쉘 명시
    스크립트의 첫 줄에는 #!/bin/bash 또는 #!/bin/sh처럼
    어떤 쉘을 쓸 것인지 꼭 명시해주세요.
  5. 잘못된 시간 입력 주의
    예: 61 * * * *는 오류입니다. 0~59 범위 확인 필수!

✅ 결론 – 크론탭은 리눅스 자동화의 핵심 도구

크론탭을 잘 활용하면,
매일 반복하는 작업을 줄이고 더 중요한 일에 집중할 수 있게 돼요.


처음엔 복잡해 보여도,
간단한 스크립트 하나만 자동화해보면 ‘이 맛에 리눅스를 쓴다’는 말이 절로 나옵니다.

 

리눅스를 쓰는 누구나 한 번은 반드시 마주치게 되는 크론탭,
이제 여러분도 제대로 알고 실전에서 활용해보세요.
컴퓨터가 여러분 대신 알아서 일하게 만드는 첫걸음이 될 거예요 😊