From ebdb4db5e51be0d5037e7da51c9c16898803f1ec Mon Sep 17 00:00:00 2001 From: John Doe Date: Wed, 4 Mar 2026 10:45:58 -0500 Subject: [PATCH] fix: enhance environment backup validation during LocalAGI updates --- ct/localagi.sh | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/ct/localagi.sh b/ct/localagi.sh index aea5a2c8..b46eca0c 100644 --- a/ct/localagi.sh +++ b/ct/localagi.sh @@ -55,16 +55,27 @@ function update_script() { msg_info "Backing up Environment" local env_backup - env_backup="$(mktemp /tmp/localagi.env.XXXXXX)" - chmod 600 "$env_backup" - cp /opt/localagi/.env "$env_backup" 2>/dev/null || true - msg_ok "Backed up Environment" + local env_backup_valid=0 + if [[ -s /opt/localagi/.env ]]; then + env_backup="$(mktemp /tmp/localagi.env.XXXXXX)" + chmod 600 "$env_backup" + if cp /opt/localagi/.env "$env_backup" 2>/dev/null && [[ -s "$env_backup" ]]; then + env_backup_valid=1 + msg_ok "Backed up Environment" + else + rm -f "$env_backup" + env_backup="" + msg_warn "Failed to create valid environment backup" + fi + else + msg_warn "Skipping environment backup: /opt/localagi/.env missing or empty" + fi msg_info "Updating LocalAGI" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "localagi" "mudler/LocalAGI" "tarball" "latest" "/opt/localagi" msg_ok "Updated LocalAGI" - if [[ -n "${env_backup:-}" && -f "$env_backup" ]]; then + if [[ "${env_backup_valid:-0}" == "1" && -n "${env_backup:-}" && -s "$env_backup" ]]; then msg_info "Restoring Environment" cp "$env_backup" /opt/localagi/.env rm -f "$env_backup"