Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 딥러닝
- Linux
- 월간결산
- Python
- 티스토리
- 서평
- 리눅스
- matplotlib
- 블로그
- 파이썬
- 독후감
- SQL
- 통계학
- 한빛미디어서평단
- 시각화
- MySQL
- Ga
- 매틀랩
- Pandas
- 한빛미디어
- 파이썬 시각화
- Visualization
- 텐서플로
- MATLAB
- 서평단
- Tistory
- Google Analytics
- python visualization
- Blog
- tensorflow
Archives
- Today
- Total
pbj0812의 코딩 일기
[자동화] crontab + mutt + python 으로 mysql 자료 메일 보내기 본문
0. flow chart
- python(pymysql, pandas) 을 통한 mysql 자료 파일화(.txt)
- mutt를 통한 결과 파일 메일 전송
- crontab을 사용한 작업 자동화
1. 자료 준비
1) mutt 설치(in Mac)
brew install mutt
2) DB 준비
- 링크
2. 자료 추출을 위한 python 파일 생성(db2csv.py)
1) library 호출
import pymysql
import pandas as pd
2) DB 연결 함수 제작
def db_connector():
db = pymysql.connect(host='127.0.0.1', port=3306, user='***', passwd='***', db='pbj_db', charset='utf8')
cursor = db.cursor()
sql = '''SELECT * FROM pbj_db.Score;'''
cursor.execute(sql)
result = cursor.fetchall()
db.close()
return result
3) 데이터 프레임 / 파일화(result.txt)
result = db_connector()
result = pd.DataFrame(result, columns = ['pk', 'id', 'money'])
result.to_csv("/Users/pbj0812/Desktop/test_code/mail/result.txt")
3. 작업 스크립트 생성
1) 메일 본문용 파일 제작(body.txt)
- body.txt 안에 메일 본문 입력
2) 스크립트 생성(auto.sh)
- which python3, which mutt를 입력하여 mutt와 python3의 위치 확인
- 첫 번째 라인 : mysql 자료 추출 및 파일화
- 두 번째 라인 : mutt를 사용하여 메일 전송
/anaconda3/bin/python3 /Users/pbj0812/Desktop/test_code/mail/db2csv.py
/usr/local/bin/mutt -s "auto_test" 메일주소@gmail.com < /Users/pbj0812/Desktop/test_code/mail/body.txt -a /Users/pbj0812/Desktop/test_code/mail/result.txt
4. crontab 작업 설정
- 터미널에서 crontab -e
- 1분마다 3.의 작업이 돌도록 설정 및 저장
* * * * * sh /Users/pbj0812/Desktop/test_code/mail/auto.sh
5. 결과
- 스팸함 확인
6. 참고
1) crontab
2) mutt
'빅데이터 > 자동화' 카테고리의 다른 글
[자동화] Google Data Studio 대쉬보드 만들기 (0) | 2020.04.16 |
---|---|
[자동화] Airflow 예제 (0) | 2020.04.08 |
[Web] Firebase를 이용한 웹 사이트 만들기 (0) | 2020.02.17 |
[자동화] 작업 스케줄러를 이용한 업무 자동화(for 윈도우즈 유저) (2) | 2020.01.27 |
[GS] Google Apps Script로 Google Spread Sheet 조작하기 (0) | 2020.01.19 |
Comments