안녕하세요. 그린주입니다 ๑'ٮ'๑
오늘도 힘차게 시작해보겠습니다!
개요
이번 글에서는 cron 표현식을 공유하고자 합니다.
목차
cron 설명
crontab 설정 방법
cron 표현식
cron 설명
1. cron이란 무엇인가?
cron(크론)은 스케줄러의 정규 표현식으로 원하는 시간에 명령(프로그램)을 실행시키기 위한 데몬입니다. crontab이라고도 하는데 cron작업을 설정하는 파일을 crontab 파일이라고 합니다.
cron은 별도로 실행을 시키는 것 없이, 작성하고 저장하는 순간부터 스케줄링이 시작됩니다.
2. cron을 사용하는 이유?
사람이 직접 서버에서 특정 작업을 매일 하는 건 한계가 있기 때문입니다.
crontab 설정 방법
cron 설정 자체는 /etc/crontab에서 합니다. 사용자는 해당 파일에 실행하고자 하는 프로세스를 간편하게 아래와 같은 옵션을 사용하여 등록, 삭제 등을 할 수 있습니다.
옵션
"crontab -l" 명령어 사용 시 등록된 작업이 없을 경우 "nocrontab for root"가 출력됩니다.
$ crontab -e // cron 등록/수정
$ crontab -d // 등록된 내용 삭제
$ crontab -l // 등록되어있는 작업 출력
$ crontab -r // 사용자가 등록한 crontab 전체 삭제
crontab 실행 명령
// 크론탭 설치여부 확인
$ ps -ef | grep cron
// 크론탭 시작
$ sudo systemctl start crond.service
// 크론탭 재시작
$ sudo systemctl restart crond.service
// 크론탭 중지
$ sudo systemctl stop crond.service
// 작동확인
$ sudo systemctl status crond.service
로그 확인
crontab 로그 확인 아래와 같습니다.
// cron tab log 장소
/var/log/cron
// 실시간 log 확인
sudo tail -f /var/log/cron
cron 표현식
cron 표현식은 아래와 같은 형태로 구성됩니다. 리눅스/유닉스 크론 표현식에서는 5개 필드가 사용되고, 쿼츠 크론 표현식에서는 7개의 필드가 사용됩니다.
저는 리눅스에서 사용하기 때문에 5개 필드로 알려드리겠습니다.
각 줄은 TAB 또는 공백으로 구분된 5개의 필드로 구성됩니다.
각 필드는 위의 설정 값 이외에 아래와 같은 특수문자를 사용할 수 있습니다.
cron 예시 케이스
마무리
이렇게 cron 표현식 글을 적어보았습니다.
다들 성공하셨을까요?? 끝까지 파이팅입니다!
긴 글 봐주셔서 감사합니다!
오늘도 행복한 하루 보내세요 ✿'◡'✿