Engineering/Linux & Shell
크론탭(Crontab) 기본 사용법 정리
개요
스크립트를 매일, 일주일에 한번, 또는 한달에 한 번 같은 시간에 실행되도록 할 필요가 있을때가 있다. 매번 작업을 대기열에 올리는 대신 리눅스 시스템의 다른 기능을 사용할 수 있다.
크론 테이블은 작업이 언제 실행되어야 하는지를 지정할 수 있도록 특별한 형식을 사용한다.
Cron Jobs Schedule 조회
[ec2-user@test ~]$ crontab -l
no crontab for ec2-user
Crontab 예제 (vi 환경 출력)
# Crontab 수정 (vi 환경 출력)
[ec2-user@test ~]$ crontab -e
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of week (0 - 6) (일요일 - 토요일; 특정 환경에서는 7도 일요일)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * command_to_execute
#1. 매주 토요일 7시 30분에 명령어 실행
30 07 * * 6 echo 'Hello' >> /tmp/test.txt
#2-1. 매일 1시, 15시에 명령어 실행
0 1,15 * * * echo 'Hello' >> /tmp/test.txt
#2-2. 매주 (수,금)요일 0시에 명령어 실행
0 0 * * 3,5 echo 'Hello' >> /tmp/test.txt
#3-1. 매일 5분 간격으로 명령어 실행
*/5 * * * * echo 'Hello' >> /tmp/test.txt
#3-2. 매 4월 간격으로 명령어 실행
* * */4 * * echo 'Hello' >> /tmp/test.txt
#4-1. 매시간 0시-5시 간격으로 명령어 실행
* 0-5 * * * echo 'Hello' >> /tmp/test.txt
#4-2. 매월: 5-8월 기간동안 12:00시에 명령어 실행
0 12 * 5-8 * echo 'Hello' >> /tmp/test.txt
Crontab 예제
# EX1. 매 30분 간격으로 Mon-Fri 9am-5pm
*/30 9-17 * * 1-5 echo 'Hello' >> /tmp/test.txt
# EX2. 매주 금요일 5pm 에 tmp 폴더를 비우기
0 5 * * 5 rm -rf /tmp/*
# EX3. 구글 드라이브 이미지 매일 정시에 백업
0 0 * * * rsync -a ~/Pictures/ ~/Google\\ Drive/Pictures/
참조
https://github.com/CoreyMSchafer/code_snippets/blob/master/Cron-Tasks/snippets.txt
'Engineering > Linux & Shell' 카테고리의 다른 글
[Linux] 관리자 권한 sudo vs su 차이점 (1) | 2022.03.20 |
---|---|
[Linux] Locate 와 FIND 명령어 차이점 (0) | 2021.12.31 |
Login vs Non-Login Shell (/etc/profile, .bash_profile, .bashrc) (0) | 2021.12.10 |
소스 컴파일 ↔ 바이너리 패키지 설치방식의 차이점 (Source Compile vs Binary Package) (0) | 2021.12.03 |
[Linux / OS] Interactive vs Non-Interactive Shell (0) | 2021.11.28 |
댓글