From e7699015c55804802a5478ae9c59dcbea1ec7483 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 20 Aug 2025 22:14:19 +0900 Subject: [PATCH 1/3] Allow override of zabbix db port --- borg.backup.zabbix.settings-default | 2 ++ borg.backup.zabbix.sh | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/borg.backup.zabbix.settings-default b/borg.backup.zabbix.settings-default index a446ed3..b521f9c 100644 --- a/borg.backup.zabbix.settings-default +++ b/borg.backup.zabbix.settings-default @@ -15,3 +15,5 @@ ZABBIX_DATABASE=""; ZABBIX_CONFIG=""; # unknown tables, default ignore, is set to true, will force backup them ZABBIX_UNKNOWN_TABLES=""; +# overide zabbix db port read from zabbix config, if not set read from zabbix config +ZABBIX_DB_PORT=""; diff --git a/borg.backup.zabbix.sh b/borg.backup.zabbix.sh index ff6cc99..1d4718c 100755 --- a/borg.backup.zabbix.sh +++ b/borg.backup.zabbix.sh @@ -37,6 +37,9 @@ fi; if [ "${ZABBIX_DATABASE}" = "psql" ]; then OPT_ZABBIX_DUMP="-C"; fi; +if [ -n "${ZABBIX_DB_PORT}" ]; then + ZABBIX_DB_PORT="-P 5432"; +fi; if [ "${ZABBIX_DATABASE}" != "psql" ] && [ "${ZABBIX_DATABASE}" != "mysql" ]; then echo "[! $(date +'%F %T')] Zabbix dump must have database set to either psql or mysql"; . "${DIR}/borg.backup.functions.close.sh" 1; @@ -70,13 +73,13 @@ fi; printf "${PRINTF_SUB_BLOCK}" "BACKUP: zabbix settings" "$(date +'%F %T')" "${MODULE}"; if [ ${DEBUG} -eq 1 ] || [ ${DRYRUN} -eq 1 ]; then - echo "${ZABBIX_DUMP_BIN} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}" + echo "${ZABBIX_DUMP_BIN} ${ZABBIX_DB_PORT} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}" if [ -z "${ONE_TIME_TAG}" ]; then echo "${BORG_PRUNE}"; fi; fi; if [ ${DRYRUN} -eq 0 ]; then - ${ZABBIX_DUMP_BIN} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}; + ${ZABBIX_DUMP_BIN} ${ZABBIX_DB_PORT} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}; fi; if [ -z "${ONE_TIME_TAG}" ]; then printf "${PRINTF_SUB_BLOCK}" "PRUNE" "$(date +'%F %T')" "${MODULE}"; From 8de971b922b1561374240b8a0f770c9bd174bcb7 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 20 Aug 2025 22:16:49 +0900 Subject: [PATCH 2/3] Fix Zabbix db port override settings --- borg.backup.zabbix.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/borg.backup.zabbix.sh b/borg.backup.zabbix.sh index 1d4718c..0d0a53a 100755 --- a/borg.backup.zabbix.sh +++ b/borg.backup.zabbix.sh @@ -37,6 +37,7 @@ fi; if [ "${ZABBIX_DATABASE}" = "psql" ]; then OPT_ZABBIX_DUMP="-C"; fi; +ZABBIX_DB_PORT=""; if [ -n "${ZABBIX_DB_PORT}" ]; then ZABBIX_DB_PORT="-P 5432"; fi; From 07896af1aed06557309ada714b264ce2c4a9426c Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Wed, 20 Aug 2025 22:37:37 +0900 Subject: [PATCH 3/3] Zabbix port override settings fix use OPT var prefix for options add missing init in functions init --- borg.backup.functions.init.sh | 2 ++ borg.backup.zabbix.sh | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/borg.backup.functions.init.sh b/borg.backup.functions.init.sh index 5df244f..afa506b 100644 --- a/borg.backup.functions.init.sh +++ b/borg.backup.functions.init.sh @@ -163,9 +163,11 @@ ZABBIX_DUMP_BIN=""; ZABBIX_CONFIG=""; ZABBIX_DATABASE=""; ZABBIX_UNKNOWN_TABLES=""; +ZABBIX_DB_PORT=""; OPT_ZABBIX_DUMP=""; OPT_ZABBIX_CONFIG=""; OPT_ZABBIX_UNKNOWN_TABLES=""; +OPT_ZABBIX_DB_PORT=""; # default keep 7 days, 4 weeks, 6 months, 1 year # if set 0, ignore/off # note that for last/hourly it is needed to create a different diff --git a/borg.backup.zabbix.sh b/borg.backup.zabbix.sh index 0d0a53a..cb33c9f 100755 --- a/borg.backup.zabbix.sh +++ b/borg.backup.zabbix.sh @@ -37,9 +37,9 @@ fi; if [ "${ZABBIX_DATABASE}" = "psql" ]; then OPT_ZABBIX_DUMP="-C"; fi; -ZABBIX_DB_PORT=""; +OPT_ZABBIX_DB_PORT=""; if [ -n "${ZABBIX_DB_PORT}" ]; then - ZABBIX_DB_PORT="-P 5432"; + OPT_ZABBIX_DB_PORT="-P ${ZABBIX_DB_PORT}"; fi; if [ "${ZABBIX_DATABASE}" != "psql" ] && [ "${ZABBIX_DATABASE}" != "mysql" ]; then echo "[! $(date +'%F %T')] Zabbix dump must have database set to either psql or mysql"; @@ -74,13 +74,13 @@ fi; printf "${PRINTF_SUB_BLOCK}" "BACKUP: zabbix settings" "$(date +'%F %T')" "${MODULE}"; if [ ${DEBUG} -eq 1 ] || [ ${DRYRUN} -eq 1 ]; then - echo "${ZABBIX_DUMP_BIN} ${ZABBIX_DB_PORT} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}" + echo "${ZABBIX_DUMP_BIN} ${OPT_ZABBIX_DB_PORT} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}" if [ -z "${ONE_TIME_TAG}" ]; then echo "${BORG_PRUNE}"; fi; fi; if [ ${DRYRUN} -eq 0 ]; then - ${ZABBIX_DUMP_BIN} ${ZABBIX_DB_PORT} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}; + ${ZABBIX_DUMP_BIN} ${OPT_ZABBIX_DB_PORT} -t ${ZABBIX_DATABASE} ${OPT_ZABBIX_UNKNOWN_TABLES} ${OPT_ZABBIX_DUMP} ${OPT_ZABBIX_CONFIG} -o - | ${BORG_CALL}; fi; if [ -z "${ONE_TIME_TAG}" ]; then printf "${PRINTF_SUB_BLOCK}" "PRUNE" "$(date +'%F %T')" "${MODULE}";