pbj0812의 코딩 일기

[자동화] 작업 스케줄러를 이용한 업무 자동화(for 윈도우즈 유저) 본문

빅데이터/자동화

[자동화] 작업 스케줄러를 이용한 업무 자동화(for 윈도우즈 유저)

pbj0812 2020. 1. 27. 00:38

0. 목표

 - 개발환경이 열악한 윈도우즈 환경에서의 자동화

 

1. flow chart

 1) python으로 현재시간 확인

 2) 1)의 결과를 구글 스프레드 시트에 자동으로 입력

 3) 작업 스케줄러로 업무 자동화 실행

2. 예제 코드 제작(구글시트 연결 참고)

 1)  라이브러리 호출

import gspread
from oauth2client.service_account import ServiceAccountCredentials
from datetime import datetime

 2) 현재 시간 계산

time = str(datetime.now())

 3) 구글 스프레드시트 연결(구글시트 연결 참고)

scope = ['https://spreadsheets.google.com/feeds']
json_file_name = 'C:/Users/user/Desktop/gspread-265016-19b1d039234a.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(json_file_name, scope)
gc = gspread.authorize(credentials)
spreadsheet_url = 'https://docs.google.com/spreadsheets/d/1oXccF2bVwIKQS0vLAxnU1RuPtb2GZJmeKZNX0dP8C1E/edit?usp=sharing'

 4) 활성화 시트 연결

doc = gc.open_by_url(spreadsheet_url)
worksheet = doc.worksheet('시트1')

 5) 시트에 현재 시간( 2)의 결과 값) 입력

worksheet.append_row([time])

 6) python 파일로 제작

3. 작업 스케줄러 관리

 1) 작업 스케줄러 실행

  - 윈도우키 -> 작업 스케줄러 검색 및 실행

 2) 작업 만들기

  - 우측의 작업 만들기 클릭

 3) 기본정보 입력

  - 일반 탭에서 이름 지정

  - 아래의 '가장 높은 수준의 권한으로 실행' ON

 4) 트리거 제작

  - 새로 만들기 클릭

  - 작업 시간 설정

   * 1분마다 돌아가도록 설정

 4) 동작 설정

  - 동작 탭에서 프로그램/스크립트(python 경로), 인수 추가(실행할 .py의 경로) 를 입력

  - python 위치는 cmd 창에서 where python 으로 확인

 5) 기타 설정 이후 확인을 눌러 저장

  - 필요할 경우(배터리, 실패시 옵션 등) 조정

 6) 설정 확인

4. 결과 확인

  - 매 1분마다 아래의 검은 화면이 깜빡이면서 실행

5. 자동화 작업 삭제

 - 작업 선택 후 우측의 삭제 클릭

6. 참고

 - 스케줄러 참고

Comments