aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/docker/entrypoint.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xdocker/entrypoint.sh33
1 files changed, 33 insertions, 0 deletions
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 <Egor.Tensin@gmail.com>
+# 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