본문 바로가기

이항 주가 데이터를 매일 DB 로 수집

crontab_크론탭 (파이썬 코드 스케줄러)

미국주식_이항 주가 데이터를 매일 db 로 수집하는 것이 목표이다.

그래서 crontab을 사용하고자 한다.

크론탭이란 리눅스용 작업 스케줄러로, 특정 시각에 명령어를 반복 수행할 수 있도록 하는 프로그램이다.

 

우선 이항 주식 데이터 분석 하는 ipynb를 주피터 노트북으로 만들었다.

 

코드는 아래와 같다.

# 이항 데이터셋의 기본 정보 구하기
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import yfinance as yf
import time
today = time.strftime('%Y-%m-%d', time.localtime(time.time()))
today
eh_df = yf.download('EH', 
                      start='2021-04-30', 
                      end=today, 
                      progress=False)
eh_df

실행 결과

 

 

주피터 노트북 파이썬으로 변환 하는 방법(.ipynb 를 .py로 변경 방법을 내 블로그에 남겼음.)

 

 

eh_test.ipynb 를 eh_test.py로 변경했으니, crontab을 사용해 파이썬 코드를 자동화 시켜보자.

 

Step 1. crontab 등록 및 수정

# 크론탭 등록 및 설정
$ crontab -e

cronetab -e 실행시 화면

Step 2. crontab 설정

 

실행하면 자동으로 vi editor가 실행되며 editor 안에 다음을 작성해 주면 된다. (하고자하는 .py 경로)

우리는 eh_test.py를 써야한다.

 

출처:https://tecadmin.net/crontab-in-linux-with-20-examples-of-cron-schedule/

# 월~금요일 16시 마다 eh_test.py 실행
0 16 * * 1,2,3,4,5 /home/ubuntu/eh_test.py 

크론탭 시간설정 /경로/파일이름.py 

위와 같이 작성 후, 

 

1. 'Ctrl + o' 로 저장

 

2. File Name to Write: 란이 나온다. 여기서 'Enter'

3. 'Ctrl + x' 로 나오면 된다.

 

새로운 크론탭 확인

크론탭 리스트를 확인을 해보자.

# 크론탭 리스트를 확인
$ clontab -l

crontab -l 로 확인. 잘 되었다.

 

추가적으로 

크론탭 모두 삭제 방법도 남겨 놓는다.

# 크론탭 모두 삭제
$ crontab -r

 

 

Reference

- JDM's Blog - 블로그

- Codelog 통계쟁이 엔지니어