replaced the old Crontab with commands with a script to execute instead. Better logging for docker logs <container name>.
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
This commit is contained in:
@@ -1,2 +1,2 @@
|
|||||||
8 * * * * bun run ./src/app.ts --today > /var/log/cron.log 2>&1
|
0 8 * * * root /opt/app/run-task.sh --today
|
||||||
*/15 * * * * bun run ./src/app.ts > /var/log/cron.log 2>&1
|
*/15 * * * * root /opt/app/run-task.sh
|
||||||
|
|||||||
27
run-task.sh
Normal file
27
run-task.sh
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user