이전글.
https://myharu.tistory.com/218
Docker 가지고 놀기 1탄 - 웹 크롤링(docker,python,selenium 등등)
일단 1탄이다. 시작은 반이니까.. 흐름은 이렇다. 도커로 만든 크롤러가 특정사이트에서 특정 상품이 있는지 체크하고 있으면 텔레그램으로 알려주는 기능이다. 일단 도커파일 만들기 FROM python:3
myharu.tistory.com
https://myharu.tistory.com/219
출석체크 셀레니움 도커 이전작업 1일차 함수들 만들어두기
원래는 윈도우에 스케쥴링으로 구성해놨었다.. 근데 윈도우서버가 노후되고 실행이 잘안되서 도커로 이전작업을 한뒤에 클라우드에 도커 컨테이너 방식으로 올려볼 예정이다. 현재 작업된 소
myharu.tistory.com
https://myharu.tistory.com/220
Docker 출석체크 이사가기 2차 출석체크 만들기
이전글. https://myharu.tistory.com/218 Docker 가지고 놀기 1탄 - 웹 크롤링(docker,python,selenium 등등) 일단 1탄이다. 시작은 반이니까.. 흐름은 이렇다. 도커로 만든 크롤러가 특정사이트에서 특정 상품이 있
myharu.tistory.com
이번에는 만든 출석체크를 특정시간마다 실행되게 할 것이다.
윈도우에서는 작업스케줄러, 리눅스에서는 크론탭, 시놀로지에서는 작업스케줄러에서 할 수 있다.
하나씩 해보자.
도커를 시놀로지에 설치해서 사용할 경우 시놀로지 작업스케줄러를 이용하면 편하다
물론 도커파일로 실행해도 된다.
제어판 > 작업스케줄러이며
생성 > 예약된 작업> 사용자정의스크립트
일단 실행권한은 루트로 주고
실행시간을 지정한다.
loop.sh를 실행하게 한다.
이미 내 도커의 파이썬에서는 매시간마다 특정사이트의 데이터를 크롤링하는 파이썬이 있는데 그 파이선 도커 컨테이너에 추가로 출석체크를 돌리는 방식으로 작성하였다.
도커설정은 아래와 같다.
docker run -d --name hyundy --volume /volume1/SSD_DATA/chrome/app/:/usr/src/app/ yoskr/chrome:0.2
실제경로는 /volume1/SSD_DATA/chrome/app/
이지만 도커에서 실행하는 경로는 /usr/src/app/이다
하지만 도커에서 실행하는 경로를 잘 확인해야 한다.
파이썬 프로그램들은 /usr/src/app/ 경로 기준으로 코딩을 해야 하기 때문이다.
여하튼 loop.sh 소스는 아래와 같다
#!/bin/bash
docker exec -d hyundy python /usr/src/app/yes24.py
도커로 실행을 하는데 백그라운드로 실행한 것이고 hyundy 이름의 컨테이너에 파이썬으로
/usr/src/app/yes24.py파일을 실행하는 명령어다. 참 쉽다.
만약 파이썬 파일을 여러 개 할 경우 sleep 60 정도(60초 쉬고)를 주고 또 실행명령어를 넣어주면 된다.
물론 파이썬 파일에 여러 개를 실행하게 해도 되고 마음대로 하면 된다.