-
반응형
파이썬을 서버에서 crontab을 통해서 스케쥴링하여 실행하는 방법을 알아보겠습니다.
파이썬 스케쥴링 Crontab 사용법
crontab은 리눅스에서 원하는 작업을 원하는 시간에 스케쥴링 해주는 툴입니다.
일반적으로 shell script 인 .sh확장자 파일을 주로 등록하여 사용합니다.
아래처럼 mtime, ctime을 활용해서 sh파일을 만들곤 합니다.
생성(create) 3일 이상된 파일 삭제 find ./ -ctime +2 -exec rm {} \ ; find /home -name '*.log' -ctime +2 -exec rm {} \; 삭제 명령 수정한지(modify)- 1일 지난 파일 삭제 예 find [디렉토리] -mtime +0 -exec rm -f {} \;
다시 돌아와 crontab의 주요 명령어는 아래와 같습니다.
crontab -e : 크론탭 추가(edit)
crontab -l : 크론탭 리스트 확인(list)
crontab -r : 크론탭 삭제(remove)그리고 crontab에 등록할때에는 아래와 같은 규칙에 따라서 작성하시면 되는데요.
분 시간 날짜 달 요일 명령어 순으로 작성해주시면 됩니다. 크론탭의 ubuntu 공식 가이드는 링크
CronHowto - Community Help Wiki
Introduction Cron is a system daemon used to execute desired tasks (in the background) at designated times. A crontab file is a simple text file containing a list of commands meant to be run at specified times. It is edited using the crontab command. The c
help.ubuntu.com
Crontab에서 파이썬 등록하는 방법
먼저 간단한 테스트 파일을 만들어보겠습니다.
nano로 test.py라는 파일을 생성한 다음 현재 시간을 출력하는 파이썬을 만들겠습니다.
nano test.py import datetime nowT = datetime.datetime.now() print(nowT)
이후 해당 파일을 crontab에 등록해야 스케쥴링이 정상적으로 동작합니다.
crontab -e를 통해서 크론탭을 실행하고
1분마다 test.py를 실행해서 test.log에 넣는 방법을 하겠습니다.
*/1 * * * * /usr/bin/python3 /home/ubuntu/python/test.py >> /home/ubuntu/python/test.log
파이썬을 crontab에 등록할때에는 이렇게 파이썬 주소, 그리고 파이썬 파일 주소로 작성하셔셔 실행하시면 됩니다.
> 하나는 덮어쓰기가 되고,
>>표시는 append로 뒤에 붙여넣게 됩니다.
crontab 명령어 확인은 아래 명령어를 통해서 확인하실수 있습니다.
grep CRON /var/log/syslog
확인하시면
실제 파일을 열어서 cat 등으로 정삭적으로 작동되는지도 확인해 볼 수 있습니다.
NO MTA installed, discarding output 에러
ubuntu에서는 크론탭 실행 결과를 mail로 알려주는데요. 해당 메일 서버가 설치되지 않아서
crontab자체가 멈췄습니다.
구글링을 해보니 postfix를 설치해야 한다고 합니다.
sudo apt-get install postfix
위 명령어를 치고 좀 기다리면 설치가 완료됩니다.
중간에 추가용량이 사용된다는 메시지에 y를 눌러서 계속 진행합니다.
아래 postfix를 설치해주면 정상적으로 실행됨을 알 수 있습니다.
그럼 잘 사용하시기 바랍니다
반응형'Tip & Tech > Python' 카테고리의 다른 글
파이썬 텔레그램 챗봇 만드는 방법 (20) 2022.01.07 PIP 명령어 정리 (14) 2022.01.03 파이썬 crontab으로 스케쥴링 하기 (16) 2021.12.30 파이썬 유튜브 API 연동하기 (8) 2021.12.30 파이썬 유튜브 제목, 조회수 크롤링하기 (6) 2021.12.28 파이썬 기초 문법 5일차 - 판다스 2편 (2) 2021.09.07 댓글 16
새해복 많이 받으시기 바랍니다!
방문 감사드립니다!
방문 감사드립니다!
방문 감사드립니다!
방문 감사드립니다!
잘 사용하시기 바랍니다.
네네 파이썬이 참 쉬운것 같습니다.
새해복 많이 받으세요