반응형
<참조> https://hbase.tistory.com/304
리눅스 스케쥴링 crontab 사용법 (주기적 실행)
글. 수알치 오상문
리눅스에서 특정 일시에 주기적으로 명령을 실행하려면(스케쥴링) crontab 명령을 이용한다.
주석(설명문) 달기
#--------------------
# 이것은 설명문입니다.
#--------------------
명령어 옵션
crontab [-u 사용자id] 파일
crontab [-u 사용자id] {-l | -r | -e}
crontab -l : 예약 작업 리스트
crontab -e : 예약 작업 수정
crontab -r : 예약 작업 삭제
새로운 작업을 설정하려면 다음처럼 실행한다.
$ crontab -e
그러면 새로운 편집창이 열린다(기본은 vi 에디터 모드). 여기에 새 작업을 설정하고 : 입력 후에 wq를 입력하여 저장한다. .
현재 Crontab 내용이 살펴보려면 다음처럼 실행한다(소문자 L).
$ crontab -l
스케줄러를 삭제하려면 다음처럼 실행한다.
$ crontab -d
Crontab에 실행 명령 추가하려면 crontab -e 실행 후 내용을 입력하고 저장한다.
다음 예제는 실행 주기가 * * * * *인데 1분마다 실행하라는 것이다. 실행할 명령은 ls -al이다(현재 디렉터리 살펴보기).
* * * * * ls -al
실행 주기 설정
구조는 다음과 같다. 각 * 위치에 맞게 조건을 지정할 수 있다.
* * * * *
분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)
요일 : 0 또는 7 = 일, 1 = 월, 2 = 화, 3 = 수, 4 = 목, 5 = 금, 6 = 토
- 실행 주기와 명령은 한 줄에 설정해야 한다.
- 주기 입력엔 * , - / 표기를 이용한다.
매분(1분 단위)마다 /home/sualchi/run.sh 실행
* * * * * /home/sualchi/run.sh
일요일 오전 0시 0분마다 /home/sualchi/run.sh 실행
0 0 * * 0 /home/sualchi/run.sh
매시간마다 0분, 20분, 40분에 /home/sualchi/run.sh 실행
0,20,40 * * * * /home/sualchi/run.sh
시간이 30~40분 범위가 되면 매분마다 /home/sualchi/run.sh 실행
30-40 1 * * * /home/sualchi/run.sh
10분 간격으로 반복해서 /home/sualchi/run.sh 실행
*/10 * * * * home/sualchi/run.sh
매달 14~15일 0시, 6시, 12시, 18시 시간대에 매 10분마다 실행
*/10 0,6,12,18 15-16 * * /home/sualchi/run.sh
로그 남기기
* * * * * /home/sualchi/run.sh > /home/sualchi/run.sh.log 2>&1
[참고] 로그 안 남기기 : * * * * * /home/sualchi/run.sh > /dev/null 2>&1
Crontab 백업 파일 저장
다음 예제는 지정된 시간(매일 23시)마다 백업 파일(/home/bakup/crontab.bak)을 저장한다.
0 23 * * * crontab -l > /home/bakup/crontab.bak
반응형
'Linux, Mac' 카테고리의 다른 글
CentOS, yum 로컬 repository 사용하기 (0) | 2022.07.02 |
---|---|
리눅스에 Microsoft Edge(엣지) 설치 (0) | 2022.06.21 |
리눅스 터미널 화면 지우기 (0) | 2022.06.09 |
UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-85: ordinal not in range(128) (0) | 2022.01.06 |
CentOS 7 apt-get, npm 설치 (0) | 2021.12.21 |