Linux

Linux - crontab

개발 일기92 2025. 3. 9. 12:24

1.crontab 옵션별 설명

옵션 설명 예시
-u [사용자명] 특정 사용자의 크론 작업을 설정/조회/삭제 (root 권한 필요) sudo crontab -u <user> -l
-e 현재 사용자의 크론 작업을 편집  crontab -e 
-l 현재 사용자의 크론 작업 목록 출력 crontab -l
-r 현재 사용자의 크론 작업 삭제 crontab -r
-i -r 옵션과 함께 사용하면 삭제 전에 확인 요청 crontab -i -r
-s 일부 시스템에서 SELinux 보안 컨텍스트를 유지하며 크론 작업을 실행하는 옵션 crontab -s
-V crontab 버전 출력 crontab -V
-x 디버그 모드 활성화 (ext, load, misc, parse, proc) crontab -x parse

 


2. 시간 형식

분(0-59) 시(0-23) 일(1-31) 월(1-12) 요일(0-7) 실행할_명령어

 

  • 요일에서 0과 7은 일요일을 의미함.
  • * (와일드카드): 모든 값을 의미함.
  • , (쉼표): 여러 개의 값을 지정할 때 사용.
  • - (대시): 범위를 지정할 때 사용.
  • / (슬래시): 주기적인 실행을 의미.

시간 설정 예시

설정crontab 예시설명

매일 자정 0 0 * * * 명령어 매일 00:00 (자정)에 실행
매시간 30분마다 30 * * * * 명령어 매시간 30분에 실행 (예: 01:30, 02:30, …)
매 10분마다 */10 * * * * 명령어 10분 간격으로 실행 (예: 00:00, 00:10, 00:20, …)
매일 오전 9시 0 9 * * * 명령어 매일 09:00에 실행
평일(월~금) 오전 9시 0 9 * * 1-5 명령어 월~금요일 09:00에 실행
주말(토,일) 오전 10시 0 10 * * 6,0 명령어 토요일과 일요일 10:00에 실행
매월 1일 자정 0 0 1 * * 명령어 매월 1일 00:00에 실행
매주 월요일 3시 0 3 * * 1 명령어 매주 월요일 03:00에 실행
매년 1월 1일 자정 0 0 1 1 * 명령어 매년 1월 1일 00:00에 실행

 

 

특수 문자열 사용

크론탭에서는 자주 쓰이는 일정에 대해 특수 문자열

ex)

@reboot 부팅할 때 실행 @reboot 명령어
@yearly 매년 1월 1일 실행 (0 0 1 1 *) @yearly 명령어
@monthly 매월 1일 실행 (0 0 1 * *) @monthly 명령어
@weekly 매주 일요일 실행 (0 0 * * 0) @weekly 명령어
@daily 매일 자정 실행 (0 0 * * *) @daily 명령어
@hourly 매시간 정각 실행 (0 * * * *) @hourly 명령어

 

'Linux' 카테고리의 다른 글

Linux - expect, spawn, send etc..  (0) 2025.03.16
Linux - Shebang  (0) 2025.03.16
Linux - find  (0) 2025.03.02
Linux - grep  (0) 2025.03.02
Linux - TOP  (0) 2025.01.12