개요
Cron은 예약한 시간 또는 특정 날짜에 명령어를 실행하는 스케줄러이다.
간단히 설명하자면 Windows 관리 도구로 제공되는 작업 스케줄러와 비슷한 역할이라고 생각하면 된다.
설치
해당 운영체제에 맞는 명령어를 이용해 설치한다.
Debian 계열 OS (Ubuntu):
apt-get update && apt-get install cron
Fedora 계열 OS (CentOS):
yum install cronie
Crontab 명령어
현재 사용자의 Crontab 설정 보기:
crontab -l
다른 사용자의 Crontab 설정 보기 (root 권한 필요):
crontab -u [사용자 이름] -l
현재 사용자의 Crontab 설정 편집:
crontab -e
다른 사용자의 Crontab 설정 편집 (root 권한 필요):
crontab -u [사용자 이름] -e
현재 사용자의 Crontab 설정 삭제:
crontab -r
다른 사용자의 Crontab 설정 삭제 (root 권한 필요):
crontab -u [사용자 이름] -r
Crontab 규칙 예시
Crontab 설정을 지정하는 규칙은 다음과 같다.
* * * * * (명령어)
[0~59분] [0~23시] [1~31일] [1~12월] [0(월)~6(토)요일]
1분마다 script.sh 실행:
* * * * * /root/script.sh
30분마다 script.sh 실행:
*/30 * * * * /root/script.sh
매시 50분에 script.sh 실행, script.sh.log 로그 파일이 있을 경우 로그 파일의 내용이 지워지고 로그가 새로 기록됨:
50 * * * * /root/script.sh > /root/script.sh.log
매일 1시 30분, 7시 30분에 script.sh 실행:
30 1,7 * * * /root/script.sh
매달 1일 5시 20분, 15일 5시 20분에 script.sh 실행, script.sh.log 로그 파일이 있을 경우 로그 파일에 로그가 누적 기록됨:
20 5 1,15 * * /root/script.sh >> /root/script.sh.log
평일(월~금) 3시 50분, 14시 50분에 script.sh 실행:
50 3,14 * * 1-5 /root/script.sh
주말(토요일, 일요일) 1시에 script.sh 실행:
0 1 * * 0,6 /root/script.sh
매 3개월(1월, 4월, 7월, 10월) 5일 2시에 script.sh 실행:
0 2 5 */3 * /root/script.sh
1월 25일 17시에 script.sh 실행:
0 17 25 1 * /root/script.sh
2월부터 시작해서 10월까지 4개월마다(2, 6, 10월) 해당 월 10일 5시, 19시에 script.sh 실행:
0 5,19 10 2-10/4 * /root/script.sh
아래 링크에서 직접 규칙을 입력해서 작업이 언제 실행되는지 확인할 수 있다.
Crontab.guru - The cron schedule expression editor
'Server > Software' 카테고리의 다른 글
[Docker Image] Speedtest Tracker - 인터넷 속도 측정 (0) | 2021.05.24 |
---|---|
Linux 토렌트 서버 transmission-daemon - 설치 및 설정 (0) | 2020.03.23 |
댓글