#!/usr/bin/env sh set -eu : "${MYSQL_HOST:=127.0.0.1}"; : "${MYSQL_PORT:=3306}"; : "${MYSQL_DATABASE:=app}"; : "${MYSQL_USER:=backup}" out="backup-${MYSQL_DATABASE}-$(date +%Y%m%d-%H%M%S).sql.gz" # Password comes from MYSQL_PWD or a protected option file; never hard-code it here. mysqldump --host="$MYSQL_HOST" --port="$MYSQL_PORT" --user="$MYSQL_USER" --single-transaction --routines --triggers "$MYSQL_DATABASE" | gzip > "$out" gzip -t "$out" printf 'created %s ' "$out"