From 3035f9216e7cbd570d48de7e74ae92fefa13c787 Mon Sep 17 00:00:00 2001 From: petermnt Date: Sun, 11 Oct 2026 08:50:08 +0200 Subject: [PATCH] fix(zigbee2mqtt): preserve backup stream and prevent filename collisions (#17751) * fix(zigbee2mqtt): preserve backup tar stream in quiet mode * fix(zigbee2mqtt): avoid backup collisions on repeated updates --- ct/zigbee2mqtt.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh index d093bcf04..4d2348ddd 100644 --- a/ct/zigbee2mqtt.sh +++ b/ct/zigbee2mqtt.sh @@ -49,8 +49,12 @@ update_deb_based() { ensure_dependencies zstd mkdir -p /opt/backups BACKUP_VERSION="$(<"$HOME/.zigbee2mqtt")" - BACKUP_FILE="/opt/backups/${APP}_backup_${BACKUP_VERSION}.tar.zst" - $STD tar -cf - -C /opt zigbee2mqtt | zstd -q -o "$BACKUP_FILE" + BACKUP_FILE="$(mktemp "/opt/backups/${APP}_backup_${BACKUP_VERSION}_XXXXXX.tar.zst")" + tar -cf - -C /opt zigbee2mqtt | $STD zstd -q -f -o "$BACKUP_FILE" || { + local backup_exit_code=$? + rm -f "$BACKUP_FILE" + return "$backup_exit_code" + } ls -t /opt/backups/${APP}_backup_*.tar.zst 2>/dev/null | tail -n +6 | xargs -r rm -f msg_ok "Backup Created (${BACKUP_VERSION})"