Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 디미터 법칙
- Bandit Level 5
- was SQLRecoverableException
- 인증서만료에러
- vue
- plsql
- 커맨드공부
- mysql 튜닝
- avax.net.ssl.SSLHandshakeException:
- java.sql.SQLRecoverableException
- 시스템 파악
- Law of Demeter
- pl/sql
- SQLRecoverableException
- 프로토타입 모형
- CSS
- 폭포수 모형
- 클린코드
- 변수명 짓는법
- 나선형 모형
- 시스템 파악 정리
- Bandit Level 6
- 스크럼기법
- springboot
- table scan
- was버그
- Bandit Level 6 → Level 7
- 에자일 모형
- OpenAPI
- 명령어공부
Archives
- Today
- Total
개발햄비
[Linux] Crontab사용법 본문
CronTab이란
Crontab은 스케줄을 관리하는 커맨드 입니다
즉 "특정 시간에 특정 작업을 하도록" 하는 것 입니다
목요일 10시에 리눅스 작업을 하고싶은 경우 CronTab 스케줄 등록을 해주시면 됩니다.
cronTab
$ crontab -e
텍스트를 입력할 수 있는 창이 뜹니다. 여기서 cronTab을 설정할 수 있고 esc 를 누른 후
:q (저장하지 않고 종료)
:q! (저장하지 않고 강제 종료)
:wq (저장 후 종료)
를 통해서 편집기를 빠져나오거나 갱신할 수 있습니다
$ crontab -l
내용만 확인하고 싶을경우 (cat 명령어와 비슷) 위 명령어를 치면 등록된 스케줄이 나옵니다.
$ crontab -r
내용을 삭제하고 싶은 경우 위의 명령어를 입력하면 됩니다 -r(emove)
CronTab * 의미
* * * * *
분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)
등록된 크론탭을 보면 ***** 으로 표시된 것을 볼수 있는데 *의 의미는 위의 예제와 같습니다.
매 분 실행하기
# 매 분 test.sh 실행
* * * * * test.sh
한시간 마다 실행
# 한시간 마다 실행
0 * * * * test.sh
매주 금요일 오전 5시 10분에 test.sh 를 실행
# 매주 금요일 오전 5시 10분에 test.sh 를 실행
10 5 * * 5 test.sh
오전 11시와 오후 4시마다 실행
# 오전 11시와 오후 4시마다 실행
00 11,16 * * * test.sh
주말을 제외하고 평일 09시부터 18시에 매 시간 당 실행
# 주말을 제외하고 평일 09시부터 18시에 매 시간 당 실행
00 09-18 * * 1-5 test.sh
매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
# 매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
0-30 1 * * * test.sh
매 30분마다 test.sh 를 실행
# 매 30분마다 test.sh 를 실행
*/30 * * * * test.sh
CronTab 로깅
* * * * * test.sh > /home/test.sh.log
CronTab 5시간 뒤 종료 18000(5시간)
30 23 * * * timeout 18000 test.sh.log
CronTab 강제종료
pkill -f 'wget -q -O - https://happist.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1'
Crontab 백업명령
# 23시50분에 매일 /home/bk/안에 crontab_bak.txt이름으로 백업
50 23 * * * crontab -l > /home/bk/crontab_bak.txt