From 1592e333be61ed600379d9a59ed68329d269f5f5 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Tue, 30 Mar 2021 02:21:21 +0300 Subject: docker: enable scheduled runs via crond --- docker/entrypoint.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 docker/entrypoint.sh (limited to 'docker') diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100755 index 0000000..cf6eb77 --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021 Egor Tensin +# This file is part of the "cgitize" project. +# For details, see https://github.com/egor-tensin/cgitize. +# Distributed under the MIT License. + +set -o errexit -o nounset -o pipefail + +schedule="${SCHEDULE:-once}" + +case "$schedule" in + once) exec "$@" ;; + 15min) schedule='*/15 * * * *' ;; + hourly) schedule='0 * * * *' ;; + daily) schedule='0 0 * * *' ;; + weekly) schedule='0 0 * * 1' ;; + monthly) schedule='0 0 1 * *' ;; + *) ;; +esac + +script="#!/bin/bash +cd /usr/src &&$( printf -- ' %q' "$@" )" + +echo "$script" > /task.sh +chmod +x /task.sh + +crontab="$schedule /task.sh +# This is the new crontab." + +echo "$crontab" | crontab - + +crond -f -- cgit v1.2.3