cron, crond, crontab
cron, crond, crontab은 Unix 계열 운영체제에서 작업을 예약하기 위해 사용되는 도구이다.
크론탭(crontab)이란?
크론탭은 cron에 의해 실행될 명령이나 스크립트의 목록을 포함하는 파일로, 크론 테이블(table)의 줄임말이다.
이 파일에는 해당 사용자가 예약하려는 작업이 특정한 시간에 실행되도록 정의되며, 사용자가 작성한 작업을 할당할 수 있다.
크론탭 문법 연습 사이트 https://crontab.guru
크론탭 설치 명령어
sudo apt install cron # 크론탭 설치
sudo service cron status # 크론탭 상태 보기
sudo service cron start # 크론탭 실행
크론탭 작업 할당
크론탭 스크립트 열기
crontab -e
위 명령을 실행하면 nano 또는 vim 같은 텍스트 에디터를 열어서 작업을 할당하는 스크립트를 작성할 수 있다.
크론탭 스크립트 작성
* * * * * [명령어]
위 스크립트는 매분마다 명령어를 실행하라는 의미이다.
*은 반복실행 주기를 나타낸다. 순서대로 분(0-59), 시간(0-23), 일(1-31), 월(1-12), 요일(0-7)을 의미한다. 요일에서 0, 7은 일요일이며 월요일은 1, 토요일은 6이다.
예를 들어 1월 2일 3시 4분에 node로 /home/username/test.js를 실행하는 스크립트는 다음과 같다.
4 3 2 1 * /usr/bin/node /home/username/test.js
다양한 설정 예시
*/10 * * * * [명령어] # 10분마다 실행
15, 45 * * * * [명령어] # 매시 15분, 45분에 실행
30 */6 * * * [명령어] # 6시간 간격으로 실행 (00:30, 06:30, 12:30, 18:30)
할당된 작업 리스트 확인
현재 어떤 작업이 할당되어 있는지 확인하는 명령어이다. crontab -e에서 작성한 스크립트가 출력된다.
crontab -l
'운영체제' 카테고리의 다른 글
[OS] 가상 메모리 & 요구 페이징 (0) | 2024.06.12 |
---|---|
[OS] 경쟁 상태(Race Condition) (0) | 2024.05.14 |
[OS] 새로운 프로세스는 어떻게 만들어질까? fork(), exec(), wait() (0) | 2024.05.02 |
쉘(Shell)과 커널(Kernel) (0) | 2023.09.18 |
[OS] 프로세스 스케줄링 (3) | 2023.07.20 |