feat: backup cron
CI / 🧪 Tests Laravel (push) Successful in 2m8s
CI / 🐳 Build & Push Image (push) Successful in 35s

This commit is contained in:
2026-08-13 14:20:28 +02:00
parent fd59e627cc
commit 334d94e712
8 changed files with 756 additions and 44 deletions
+32
View File
@@ -0,0 +1,32 @@
#!/bin/sh
set -eu
: "${BACKUP_CRON:=0 3 * * *}"
case "$BACKUP_CRON" in
*"
"*)
echo "BACKUP_CRON must contain a single cron expression." >&2
exit 1
;;
esac
cron_field_count="$(printf "%s\n" "$BACKUP_CRON" | awk '{ print NF }')"
if [ "$cron_field_count" -ne 5 ]; then
echo "BACKUP_CRON must contain exactly five fields." >&2
exit 1
fi
mkdir -p /backups
umask 077
printf "%s /usr/local/bin/backup-database scheduled >> /proc/1/fd/1 2>> /proc/1/fd/2\n" \
"$BACKUP_CRON" > /etc/crontabs/root
if [ "${BACKUP_RUN_ON_START:-false}" = "true" ]; then
/usr/local/bin/backup-database startup
fi
echo "Database backup cron configured: $BACKUP_CRON"
exec crond -f -l 2