반응형
cron은 유닉스 계열 운영체제의 잡 스케줄러로 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 하는 소프트웨어 유틸리티이다.
crontab(cron table) 파일에 의해 구동되며 커맨드창에서 'crontab -e'를 입력하면 해당 파일에 값을 입력할 수 있다.
가장 아래로 내려보면 m h dom mon dow command라고 표시되어 있는데, 각각 의미하는 바는 다음과 같다
- min(분: 0-59)
- hour(시: 0-23)
- day of month(일: 1-31)
- month(월: 1-12)
- day of week(요일: 0-6)
위의 표현식을 통해 적당한 커맨드를 입력해보자.
입력한 설정값은 'crontab -l'로 확인할 수 있다.
위에서 수행한 명령어를 tail -f 옵션을 통해 확인해보면 정상적으로 1분마다 수행되고 있음을 볼 수 있다.
추가로 정기적인 작업을 수행하다가 에러가 발생할 때 놓치는 경우가 없도록 표준에러를 표준출력으로 redirection 시킬 수 있도록 굵은색 부분을 추가해주자
*/1 * * * * date >> date.log 2>&1
Tips)
- 와일드카드(*)는 all을 의미
- 슬래쉬(/)는 값 증가에 사용됨 (분 위치에 0/5로 사용하면 5분마다 수행)
- 물음표(?)는 특정 값이 없을 때 사용됨(값 상관없음)
- 하이픈(-)은 범위를 지정할 때 사용
- L은 마지막 값을 의미, 날짜와 요일에 사용 가능
Example)
Expression | Means |
0 0 12 * * * | 매일 12시 |
0 0 0/1 * * * | 1시간 마다 |
0 0/5 12 * * * | 12시부터 13시 사이에 5분 간격 실행 |
0 0/5 12,18 * * * | 12시부터 13시 사이에 5분 간격 실행, 18시부터 19시 사이에 5분 간격 실행 |
0 0/5 12-18 * * * | 12시부터 18시 사이에 5분 간격 실행 |
0 0 0 1 * * | 매달 1일 0시 실행 |
Reference:
docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
반응형
'DevOps > Linux' 카테고리의 다른 글
리눅스 - 디스크 명령어 du, df (0) | 2021.05.09 |
---|---|
프록시 서버 설정, 리눅스 스퀴드(squid) (0) | 2021.05.02 |
리눅스 - 프로세스 제어, 스케쥴링, 호스트 찾기, 네트워크 연결 (0) | 2021.04.11 |
리눅스 - 파일 다루기 (0) | 2021.04.04 |
리눅스 - 셸의 기능 (0) | 2021.03.28 |