diff --git a/mariadb/hooks/schedule_command-relation-joined b/mariadb/hooks/schedule_command-relation-joined index 50e5e5bf..fadedca3 100755 --- a/mariadb/hooks/schedule_command-relation-joined +++ b/mariadb/hooks/schedule_command-relation-joined @@ -33,12 +33,11 @@ COMPOSE_LAUNCHER_OPTS=$COMPOSE_LAUNCHER_OPTS $schedule root lock $label -D -p 10 -c "\ docker run --rm \ - -e MYSQLHOST="${SERVICE_NAME}" \ --network ${PROJECT_NAME}_default \ -v \"$LOCAL_DB_PASSFILE\":/root/.my.cnf \ -v \"$HOST_CHARM_STORE/${CHARM_REL_PATH#${CHARM_STORE}/}/resources/bin/mysql-backup:/usr/sbin/mysql-backup\" \ -v \"$SERVICE_DATASTORE/var/backups/mysql:/var/backups/mysql\" \ --entrypoint mysql-backup \ - \"$DOCKER_BASE_IMAGE\"" 2>&1 | ts '\%F \%T \%Z' >> /var/log/cron/${label}_script.log + \"$DOCKER_BASE_IMAGE\" --host \"${SERVICE_IMAGE}\"" 2>&1 | ts '\%F \%T \%Z' >> /var/log/cron/${label}_script.log EOF chmod +x "$DST" diff --git a/mariadb/resources/bin/mysql-backup b/mariadb/resources/bin/mysql-backup index afe5b8fb..139366dd 100755 --- a/mariadb/resources/bin/mysql-backup +++ b/mariadb/resources/bin/mysql-backup @@ -1,5 +1,38 @@ #!/bin/bash +. /etc/shlib + +include common +include pretty + +usage="$exname [--host HOST] [DATABASE...]" + + +DBS=() +host= +while [ "$1" ]; do + case "$1" in + "--help"|"-h") + print_usage + exit 0 + ;; + "--host") + host="$2" + shift + ;; + *) + DBS+=("$1") + ;; + esac + shift +done + + +mysql_opts=() +if [ "$host" ]; then + mysql_opts+=(-h "$host") +fi + m() { mysql "${mysql_opts[@]}" -Bs "$@" } @@ -14,16 +47,13 @@ mysql_databases() { mysql_tables() { local db="$1" - echo "SHOW TABLES" | m "$db" + echo "SHOW TABLES" | m "$db" } -mysql_opts=() -if [ "$MYSQLHOST" ]; then - mysql_opts+=(-h "$MYSQLHOST") -fi - -DBS=($(mysql_databases)) || exit 1 +if [ "${#DBS[@]}" == 0 ]; then + DBS=($(mysql_databases)) || exit 1 +fi mkdir -p /var/backups/mysql