crontab(크론탭) 이란?
윈도우 스케쥴러와 비슷한 도구 중 하나로, 미래 임의의 시간에 작업을 실행하거나 일정한 시간(매분, 매시간, 매달, 매해)마다 자동으로 작업을 실행할 수 있도록 해주는 리눅스 도구
(/var/spool/cron/ID에 위치)
1. crontab 설정을 위한 리눅스 명령어
1) crontab -e : crontab 설정을 위한 vi editor 열기(설정 후 빠져나오면 cron 데몬을 따로 돌릴 필요없이 바로 적용 됨)
2) crontab -l : 설정된 crontab 정보 보기
3) crontab -r : crontab 삭제
4) ps -eflgrep cron : cron demon이 돌고 있는지 확인
5) kill -9 "pid of cron" : kill cron demon
2. crontab 설정
crontab 주기 설정을 위한 포맷
[ 분(Minute) 시간(Hour) 일(Day) 월(Month) 요일(Week) + (리눅스 커맨드 or 쉘 스크립트(.sh)) ]
- 분(0~59)/시간(0~23)/일(1~31)/월(1~12)/요일(0~7) 사이의 값으로 제한한다.
- 요일에서 0과 7은 일요일이며 1~6은 월요일~토요일을 의미한다.
- 콤마(,)를 사용하여 여러 시간대를 지정할 수 있으며, 하이픈(-)을 통하여 시간 범위도 설정 가능하다.
- 하이픈(-)으로 시간 범위를 설정한 것에 대하여 슬래쉬(/)를 통하여 시간 간격을 설정할 수 있다. (ex. 2~10/3은 3, 6, 9를 뜻함)
- 각 항목별 제한을 없어려면 이용하려면 *를 넣어준다.(ex. 매달 28일 00시에 test.sh파일을 실행: 0 0 28 * * /home/test/test.sh)
3. 그 외 설정
1) crontab 사용자 설정
/etc/cron.allow : 사용 허가할 ID 설정
/etc/cron.deny : 사용 거부할 ID 설정
2) >/dev/null 2>&1
명령어 처리 결과 또는 에러 메세지를 모두 버린다는 설정으로 처리 결과와 에러 메세지를 파일로 저장하고 싶다면 /dev/null 대신 파일명을 적어주면 된다.
'Server > 리눅스' 카테고리의 다른 글
[리눅스 명령어] file, type : file 종류, 명령어 종류 확인 (0) | 2020.03.17 |
---|---|
[리눅스 명령어] find, grep : 파일 찾기 명령어 (0) | 2020.03.17 |
[리눅스 명령어] wc : 해당 파일의 단어 수 카운트 (0) | 2020.03.17 |
[리눅스 명령어] mv, rename : 파일명 or 디렉토리명 변경 (0) | 2020.03.17 |
[Linux] 입출력 리다이렉션(Redirection), 파일 디스크립터(File descriptor)와 파이프(Pipe) (0) | 2020.02.09 |