diff --git a/deploy/smoke.sh b/deploy/smoke.sh index 8f51f41..2286851 100755 --- a/deploy/smoke.sh +++ b/deploy/smoke.sh @@ -186,11 +186,11 @@ printf '\n[9] Бэкап\n' if GLCHAT_ETC_DIR="$GLCHAT_ETC_DIR" bash "${GLCHAT_ETC_DIR}/backup.sh" >/tmp/glchat-smoke-backup.log 2>&1; then last_backup="$(ls -1t "${GLCHAT_ETC_DIR}/data/backups"/glchat-*.tar.gz* 2>/dev/null | head -1)" pass "бэкап создан: $(basename "${last_backup:-unknown}")" - if [ "${last_backup}" = *.age ]; then - pass "бэкап зашифрован age" - else - skip "бэкап создан без шифрования: задайте AGE_RECIPIENT (install.sh генерирует его автоматически)" - fi + # Шифрование проверяем по содержимому, а не по имени файла. + case "$(head -c 18 "${last_backup}" 2>/dev/null)" in + age-encryption.org*) pass "бэкап зашифрован age" ;; + *) skip "бэкап без age-шифрования: задайте AGE_RECIPIENT (установщик генерирует его сам)" ;; + esac else fail "бэкап не создан (см. /tmp/glchat-smoke-backup.log)" fi