이전글.
이번에는 만든 출석체크를 특정시간마다 실행되게 할 것이다.
윈도우에서는 작업스케줄러, 리눅스에서는 크론탭, 시놀로지에서는 작업스케줄러에서 할 수 있다.
하나씩 해보자.
도커를 시놀로지에 설치해서 사용할 경우 시놀로지 작업스케줄러를 이용하면 편하다
물론 도커파일로 실행해도 된다.
제어판 > 작업스케줄러이며
생성 > 예약된 작업> 사용자정의스크립트
일단 실행권한은 루트로 주고
실행시간을 지정한다.
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
반응형