doxgxxn / WILT

0 stars 0 forks source link

231031 / cron #85

Open doxgxxn opened 10 months ago

doxgxxn commented 10 months ago

주기적으로 특정 동작을 하는 도커 이미지 생성 및 배포

배포

요구사항

doxgxxn commented 10 months ago

image

서비스 시작

image

doxgxxn commented 10 months ago

Dockerfile

# https://docs.docker.com/engine/reference/builder/
FROM httpd:2.4.57

RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "vim"]

RUN ["apt-get", "install", "-y",  "git"]
RUN ["git", "clone", "https://github.com/dj-twenty-six/dj-twenty-six.github.io", "/usr/local/apache2/app/blog"]
RUN ["apt-get", "install", "-y", "cron"]

COPY ["pull.sh", "/usr/local/apache2/app/blog/"]
COPY ["blog-pull-cronjob", "/etc/cron.d/blog-pull-cronjob"]
COPY ["httpd.conf", "/usr/local/apache2/conf"]

RUN crontab /etc/cron.d/blog-pull-cronjob

# Just once at the end
CMD service cron start;httpd-foreground

pull.sh

#!/bin/bash

echo "start pull-->"
date "+%Y-%m-%d %H:%M:%S"

cd /usr/local/apache2/app/blog
git pull

echo "<--end pull"

blog-pull-cronjob

* * * * * sh /usr/local/apache2/app/blog/pull.sh >> /var/log/pull.log 2>&1
# new crontab file is missing newline before EOF, can't install.