From f9a1919d0801bbd35655e4bc4310b19afc2fc5bd Mon Sep 17 00:00:00 2001 From: chiko Date: Wed, 22 Oct 2025 16:28:25 +0200 Subject: [PATCH] replaced the old Crontab with commands with a script to execute instead. Better logging for docker logs . because cron does not execute script with env vars, they get dumped into a file and set for the runtime of the script run-taks.sh --- docker/Crontab | 4 ++-- run-task.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 run-task.sh diff --git a/docker/Crontab b/docker/Crontab index 0eee489..ef428f5 100644 --- a/docker/Crontab +++ b/docker/Crontab @@ -1,2 +1,2 @@ -8 * * * * bun run ./src/app.ts --today > /var/log/cron.log 2>&1 -*/15 * * * * bun run ./src/app.ts > /var/log/cron.log 2>&1 \ No newline at end of file +0 8 * * * root /opt/app/run-task.sh --today +*/15 * * * * root /opt/app/run-task.sh diff --git a/run-task.sh b/run-task.sh new file mode 100644 index 0000000..a5a79cf --- /dev/null +++ b/run-task.sh @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +set -o allexport +. /etc/environment || echo "[WARN] Failed to load env" >> /proc/1/fd/2 +set +o allexport + +export PATH="/root/.bun/bin:$PATH" + +cd /opt/app + +log_info() { + echo "[INFO] $(date) $1" >> /proc/1/fd/1 +} + +log_error() { + echo "[ERROR] $(date) $1" >> /proc/1/fd/2 +} + +log_info "Starting task with args: $*" + +if bun run ./src/app.ts "$@" >> /proc/1/fd/1 2>> /proc/1/fd/2; then + log_info "Task completed successfully." +else + log_error "Task failed!" + exit 1 +fi \ No newline at end of file