1. 필요한 이유
회사에서 서버 컴퓨터에 Jenkins 에 아이템을 하나 만들고, 빌드 될 때마다 Shell 명령어를 동작시키도록 설정했다. 요구 사항은 우리가 수동적으로 새로 빌드를 하는 것도 아니고, 파이프라인으로 사용하는 것도 아니고, 정기적인 날에 이 아이템이 빌드되도록 하는 것이었다. Jenkins 에서는 해당 아이템을 정기적으로 실행시킬 수 있는 방법이 존재했고, 그 중 하나가 Shell 을 사용하는 것이었다
이 경우, "어느 때" 정기적으로 동작할지를 코드로 작성해야 했고, Linux 에서 해당 내용은 크론탭 이라는 것을 사용하여 처리할 수 있었다. 해당 내용은 처음 배우는 것이었고, 종종 사용할 명령어인 거 같아 따로 정리할 필요성을 느껴 Notion 뿐만 아니라 Tistory 에도 작성해
공유하고자 한다.
2. 크론탭(Crontab)이란?
리눅스에서 특정 시간에 특정 작업하는 것을 크론(Cron) 이라고 한다. 이 크론이 언제 무엇을 하는지 특정 파일에 저장하는 것을 크론탭(Crontab) 이라고 한다
사용하기에 적당한 경우는 다음과 같다
1. 특정 시간에 특정 작업을 할 때
2. 반복된 시간에 반복된 작업을 할 때
3. 예약 작업을 할 때
3. 크론탭 기본 사용법
## 크론탭 편집
crontab -e
## 크론탭 작업 내용 확인
crontab -l
## 크론탭 삭제
#### 삭제시 전체 작업이 삭제됩니다
crontab -r
크론탭의 주기는 다음과 같다
* * * * * {실행_명령}
# 분 시 일 월 요일 {실행_명령}
# 0-59 0-23 0-31 0-12 0-6(0,7은 일)
## 매 분 실행
* * * * * {실행_명령} OR /1 * * * * {실행_명령}
## 매 시 정각 실행
0 * * * * {실행_명령}
## 매일 오후 13시 정각에 실행
0 13 * * * {실행_명령}
## 매주 월요일 자정에 실행
0 0 * * 1 {실행_명령}
## 매시 25분, 55분에 실행
25,55 * * * * {실행_명령}
## 15분마다 실행
*/15 * * * * {실행_명령}
## 매 6시간마다 실행 (00;30, 06:30, 12:30, 18:30)
30 */6 * * * {실행_명령}
## 1시부터 매 6시간마다 실행 (01:30, 07:30, 13:30, 19:30)
30 1-23/6 * * * {실행_명령}
크론탭 주기를 사용해서 원하는 명령어를 원하는 주기에 실행할 수 있도록 설정해두면 된다.
https://www.fun-coding.org/linux_basic6.html#gsc.tab=0
잔재미코딩 온라인 강의 사이트입니다
잔재미코딩에서 만든 온라인 강의 리스트를 공유하는 웹페이지입니다.
www.fun-coding.org
리눅스 크론탭(Linux Crontab) 사용법 :: JDM's Blog
* 이 포스팅은 네이버 블로그에서 작성(2013.04.01)한 내용을 옮겨온 것입니다. 오늘은 리눅스 크론탭에 대해 알아볼까 합니다. 음, 윈도우에서는 스케줄러와 비슷하다고 보면 되겠네요. "특정 시간
jdm.kr
'je개발 복습 > Linux' 카테고리의 다른 글
[ Linux ] Shell 날짜 조회하기 (0) | 2023.01.15 |
---|