From 65adc453d4763a15efa31e9ed9e99898ef332211 Mon Sep 17 00:00:00 2001 From: J0Z1L Date: Sat, 28 Feb 2026 00:40:18 +0100 Subject: [PATCH] Only rewrite Unraid template when content changed --- scripts/run-unraid.sh | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/scripts/run-unraid.sh b/scripts/run-unraid.sh index 24f16c9..1117439 100755 --- a/scripts/run-unraid.sh +++ b/scripts/run-unraid.sh @@ -58,14 +58,10 @@ echo "==> Build image ${IMAGE}" docker build -t "${IMAGE}" "${PROJECT_ROOT}" mkdir -p "${TEMPLATE_DIR}" +TMP_TEMPLATE="$(mktemp)" +trap 'rm -f "${TMP_TEMPLATE}"' EXIT -if [[ -f "${TEMPLATE_PATH}" ]]; then - echo "==> Aktualisiere vorhandenes Template: ${TEMPLATE_PATH}" -else - echo "==> Erstelle neues Template: ${TEMPLATE_PATH}" -fi - -cat > "${TEMPLATE_PATH}" < "${TMP_TEMPLATE}" < ${CONTAINER_NAME} @@ -104,7 +100,21 @@ cat > "${TEMPLATE_PATH}" </dev/null 2>&1; then - xmllint --noout "${TEMPLATE_PATH}" + xmllint --noout "${TMP_TEMPLATE}" +fi + +if [[ -f "${TEMPLATE_PATH}" ]]; then + if cmp -s "${TMP_TEMPLATE}" "${TEMPLATE_PATH}"; then + echo "==> Template unveraendert, kein Überschreiben: ${TEMPLATE_PATH}" + else + echo "==> Aktualisiere vorhandenes Template: ${TEMPLATE_PATH}" + mv "${TMP_TEMPLATE}" "${TEMPLATE_PATH}" + TMP_TEMPLATE="" + fi +else + echo "==> Erstelle neues Template: ${TEMPLATE_PATH}" + mv "${TMP_TEMPLATE}" "${TEMPLATE_PATH}" + TMP_TEMPLATE="" fi echo "==> Fertig"