윈도우서버를 사용하는 경우 mssql을 주로 사용하고 이런경우 ssms에서 job을 만들어서 배치를 돌리게 된다.
하지만 리눅스에서는 크론탭을 사용하여 배치를 등록하고 실행할 수 있다.
현재 예약되어 있는 작업 보기
crontab -l
작업 편집(입력, 수정, 삭제)
crontab -e
cron을 설정하고 crond 데몬을 재시작 하지 않고 crontab -e로 설정 후 빠져나오면 바로 적용된다.
형식은
[분] [시] [일] [월] [요일] 명령어
위와 같은 형식이다.
분 |
0~59 |
시 |
0~23 |
일 |
0~31 |
월 |
1~12 |
요일 |
0~7 (0,7=일 / 1=월 / 2=화 / 3=수 / 4=목 / 5=금 / 6=토) |
'*' 은 모든 시간을 의미한다.
1,3,5 와 같이 콤마(,)로 구분하여 여러 시간대를 지정하는 것이 가능하다.
1-10 과 같이 하이픈(-)처럼 시간 범위를 지정할 수 있다.
하이픈(-)으로 시간 범위를 지정하고 슬래쉬(/)로 시간 간격을 지정할 수 있다.
3-10/3는 3시부터 10시까지 3시간 간격=3,6,9 시를 의미한다.
주의사항이 있다면 모든 엔트리 필드는 공백으로 구분하고 한 줄당 하나의 명령만 지정할 수 있다.
예를 들면..
30 4,12 * * * /usr/bin/cmd (매일 새벽4시 30분, 낮12시 30분에 /usr/bin/cmd 를 실행)
40 1 * * 0 /home/bloodguy/db.sh (매주 일요일 새벽 1시 40분에 /home/bloodguy/db.sh 를 실행)
0 4-6 * * * 명령어 (매일 오전 4,5,6 시)
5 */2 * * * 명령어 (매일 2시간 간격으로 5분대 = 2시 5분, 4시 5분, 6시 5분 ... )
15 1 1 * * 명령어 (매월 1일 1시 15분)
30 3 1 1,3,6,9 명령어 (1월 1일 3시 30분, 3월 1일 3시 30분, 6월 1일 3시 30분, 9월 1일 3시 30분)
이런식으로 하면된다.
'Programming > Linux' 카테고리의 다른 글
32bit 서버에 날짜타입 저장하려고 할 때 에러 (0) | 2019.06.15 |
---|---|
리눅스 클라이언트, 서버 간 pipe를 통한 프로세스간 통신 (6) | 2018.04.26 |
리눅스 50가지 팁 (0) | 2018.04.21 |
리눅스 vi 명령어 모음 (0) | 2018.04.19 |
CentOS7 GUI 모드로 설치하기(Hiper-V to a Virtual Machine) (0) | 2018.03.19 |