캡처가 제대로 동작하지 않는 부분 수정, 실행 완료 시 mattermost로 메시지 발송 기능 추가.

This commit is contained in:
2025-12-11 13:16:47 +09:00
parent f786f4a1fe
commit 3ee3161f06
8 changed files with 604 additions and 171 deletions

View File

@ -20,7 +20,8 @@ RUN apt-get update && \
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Python 패키지 설치
RUN pip install --no-cache-dir \
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir \
selenium>=4.10 \
pymysql \
ftputil \
@ -28,15 +29,17 @@ RUN pip install --no-cache-dir \
pyvirtualdisplay \
requests
WORKDIR /app
RUN fc-cache -f -v
COPY run.sh /app/run.sh
# autouploader 디렉토리의 모든 Python 스크립트 및 설정 파일 복사
COPY autouploader/ /app/
RUN chmod +x /app/run.sh
# crontab 등록
RUN echo "0 9 * * * /app/run.sh >> /proc/1/fd/1 2>&1" | crontab -
# crontab 등록 (docker logs에 출력되도록 설정)
RUN echo "0 9 * * * /app/run.sh 2>&1" | crontab -
# Cron 로그를 docker logs로 보내기 위해 포그라운드에서 실행
CMD ["/bin/bash", "-c", "cron -f"]

View File

@ -1,3 +1,27 @@
#!/bin/bash
echo "run.sh 실행됨: $(date '+%Y-%m-%d %H:%M:%S')"
python3 /data/gnu_autoupload.py >> /proc/1/fd/1 2>&1
# 로그 출력 함수
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*"
}
log "========================================"
log "날씨 정보 자동 게시글 생성 시작"
log "========================================"
# Python 스크립트 실행
cd /app
if [ -f "gnu_autoupload.py" ]; then
python3 /app/gnu_autoupload.py 2>&1
EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]; then
log "✅ 실행 완료 (종료 코드: $EXIT_CODE)"
else
log "❌ 실행 실패 (종료 코드: $EXIT_CODE)"
fi
else
log "❌ 오류: gnu_autoupload.py 파일을 찾을 수 없습니다"
exit 1
fi
log "========================================"