클라우드 엔지니어/Docker

docker 출석체크 자동화 3탄 스케줄링-시놀로지 작업스케줄러

해아's 2023. 1. 27. 09:00

이전글.

더보기

이번에는 만든 출석체크를 특정시간마다 실행되게 할 것이다.

윈도우에서는 작업스케줄러, 리눅스에서는 크론탭, 시놀로지에서는 작업스케줄러에서 할 수 있다.

하나씩 해보자.

 

도커를 시놀로지에 설치해서 사용할 경우 시놀로지 작업스케줄러를 이용하면 편하다

물론 도커파일로 실행해도 된다.

제어판 > 작업스케줄러이며

 

생성 > 예약된 작업> 사용자정의스크립트

일단 실행권한은 루트로 주고

실행시간을 지정한다.

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초 쉬고)를 주고 또 실행명령어를 넣어주면 된다.

물론 파이썬 파일에 여러 개를 실행하게 해도 되고 마음대로 하면 된다.

 

 

728x90
반응형