본문 바로가기
IT/리눅스(linux)

리눅스 반복작업 관리: crontab

by 배우고 성장하는 청년 블로그 2023. 3. 13.

# crontab 사용법

crontab은 특정 시간에 특정 파일을 실행하거나 반복 작업을 하고자 하는 경우에 사용한다.

 

# crontab 저장 명령어 편집

crontab -e 결과

명령어: crontab -e

특정 시간에 실행시키고자 하는 파일 명령어를 적어놓는다.

예시: *(분) *(시) *(일) *(월) *(요일) [실행 명령어]

 

해당 실행 파일에 대한 로그를 저장하고자 하는 경우에 "> [로그 파일명]"을 추가한다.

만일 로그 파일에서 오류 메시지도 같이 보고자 하는 경우에 "2>&1"을 추가한다.

 

# 실행 명령어 예시

명령어: * * * * * test.sh

- test.sh를 매분마다 실행

 

명령어: 0 * * * * test.sh

- test.sh를 정시마다 실행

 

명령어: 0 */3 * * * test.sh

- test.sh를 3시간 정시마다 실행

 

명령어: 0 5 * * 1-5 test.sh

- test.sh를 평일(월~금)에 5시 0분마다 실행

 

# crontab 저장 명령어 확인

명령어: crontab -l

 

# crontab 저장 명령어 삭제

명령어: crontab -r

 

# crontab 설정 명령어

1
2
3
4
5
6
7
8
9
10
11
// crontab 시작
service cron start
 
// crontab 재시작
service cron restart
 
// crontab 중지
service cron stop
 
// crontab 상태 확인
service cron status
cs

 

crontab status

 

# crontab 오류 관리

# crontab 실행 오류

crontab으로 파일을 실행하면 permission denied으로 실행이 안되는 경우가 발생한다.

명령어: chmod +x [실행 파일명]

위 명령어로 해당 쓰기 권한을 추가하면 crontab으로 실행이 가능해진다.

 

# crontab anaconda 가상 환경 적용

crontab으로 anaconda에서 실행하던 파일을 실행하면 라이브러리가 없다는 결과를 확인할 수 있다.

bash 파일을 실행하는 경우에는 다음과 같이 추가를 하면 된다.

1
2
3
4
5
6
7
#!/bin/bash
 
source ~/anaconda3/bin/activate [가상환경명]
 
python3 [실행파일명]
 
conda deactivate
cs

'IT > 리눅스(linux)' 카테고리의 다른 글

우분투 방화벽 설정: UFW (ubuntu Firewall)  (0) 2023.05.07