ML-개발환경/OS

ML-개발환경/OS

2022-02-03 작성

ubuntu 환경에서 일정시간마다 python code를 실행해야 하는 task가 생겼다. 

찾아보니 windows 관리도구에서 제공하는 작업 스케줄러 역할을 해주는 Crontab 이라는 편리한 기능이 있어서 공부하면서 정리하려 한다. 

 


1. Crontab 설치

sudo apt-get update

 

sudo apt-get install cron

 

2. Crontab 명령어

  • 현재 사용자의 Crontab 설정 보기
    sudo crontab -l​
  • 현재 사용자의 Crontab 설정편집
    sudo crontab -e​
  • 현재 사용자의 Crontab 설정 삭제
    sudo crontab -r​

 

3. Crontab 규칙

ex) 

* * * * * /home/msdl/Downloads/test.py

→ 매분, 매시간, 매일, 매월, 매일, 즉 1분마다 test.py 실행

 

0 1 * * * /home/msdl/Downloads/test.py

→ 0분, 1시, 매일, 매월, 매일, 즉 매일 1시에 test.py 실행

 

0 1 * * 1-5 /home/msdl/Downloads/test.py

→ 0분, 1시, 매일, 매월, 월~금, 즉 월~금 1시에 test.py 실행

 

*/10 1 * * * /home/msdl/Downloads/test.py

→ 10분 간격, 1시, 매일, 매월, 매일, 즉 매일 1시, 1시 10분, 1시 20분, 1시 30분, 1시 40분, 1시 50분 test.py 실행

 

0 */1 * * * /home/msdl/Downloads/test.py

→ 1시간마다 test.py 실행

 

4. Crontab 동작 확인

$ service cron status    # 동작 여부 확인
$ service cron start     # 가동
$ service cron restart   # 재가동

 

5. python 코드 수정

#! /home/msdl/anaconda3/envs/가상환경이름/bin/python3.7

동작하려는 파이썬 코드 최 상단에 위와같이 한줄 넣어준다.

 

6. crontab -e 로 crontab 파일 수정

* */1 * * * /home/msdl/anaconda3/envs/zed/bin/python3.7 /home/msdl/Downloads/test.py

crontab 파일을 설정할때 위와같이 python path , python file 절대경로 이렇게 2가지 인자를 적어줘야한다.

 

결과적으로 

위와같이 일정시간마다 파이썬 파일이 동작하는것을 볼 수 있다. 

(나는 일정시간마다 jpeg , pcd 파일이 저장되도록 하는 파이썬파일을 실행하였다!)

 

성공 ㅎㅎ!

2022-02-03 작성

ubuntu 환경에서 일정시간마다 python code를 실행해야 하는 task가 생겼다. 

찾아보니 windows 관리도구에서 제공하는 작업 스케줄러 역할을 해주는 Crontab 이라는 편리한 기능이 있어서 공부하면서 정리하려 한다. 

 


1. Crontab 설치

sudo apt-get update

 

sudo apt-get install cron

 

2. Crontab 명령어

  • 현재 사용자의 Crontab 설정 보기
    sudo crontab -l​
  • 현재 사용자의 Crontab 설정편집
    sudo crontab -e​
  • 현재 사용자의 Crontab 설정 삭제
    sudo crontab -r​

 

3. Crontab 규칙

ex) 

* * * * * /home/msdl/Downloads/test.py

→ 매분, 매시간, 매일, 매월, 매일, 즉 1분마다 test.py 실행

 

0 1 * * * /home/msdl/Downloads/test.py

→ 0분, 1시, 매일, 매월, 매일, 즉 매일 1시에 test.py 실행

 

0 1 * * 1-5 /home/msdl/Downloads/test.py

→ 0분, 1시, 매일, 매월, 월~금, 즉 월~금 1시에 test.py 실행

 

*/10 1 * * * /home/msdl/Downloads/test.py

→ 10분 간격, 1시, 매일, 매월, 매일, 즉 매일 1시, 1시 10분, 1시 20분, 1시 30분, 1시 40분, 1시 50분 test.py 실행

 

0 */1 * * * /home/msdl/Downloads/test.py

→ 1시간마다 test.py 실행

 

4. Crontab 동작 확인

$ service cron status    # 동작 여부 확인
$ service cron start     # 가동
$ service cron restart   # 재가동

 

5. python 코드 수정

#! /home/msdl/anaconda3/envs/가상환경이름/bin/python3.7

동작하려는 파이썬 코드 최 상단에 위와같이 한줄 넣어준다.

 

6. crontab -e 로 crontab 파일 수정

* */1 * * * /home/msdl/anaconda3/envs/zed/bin/python3.7 /home/msdl/Downloads/test.py

crontab 파일을 설정할때 위와같이 python path , python file 절대경로 이렇게 2가지 인자를 적어줘야한다.

 

결과적으로 

위와같이 일정시간마다 파이썬 파일이 동작하는것을 볼 수 있다. 

(나는 일정시간마다 jpeg , pcd 파일이 저장되도록 하는 파이썬파일을 실행하였다!)

 

성공 ㅎㅎ!

Scroll to Top