diff --git a/ct/zabbix.sh b/ct/zabbix.sh index e58ffefbc47..0a023e83e9f 100644 --- a/ct/zabbix.sh +++ b/ct/zabbix.sh @@ -46,7 +46,20 @@ function update_script() { systemctl stop "$AGENT_SERVICE" msg_ok "Stopped Services" - msg_info "Updating Zabbix" + read -rp "Choose Zabbix version [1] 7.0 LTS [2] 7.4 (Latest Stable) [3] Latest available (default: 2): " ZABBIX_CHOICE + ZABBIX_CHOICE=${ZABBIX_CHOICE:-2} + case "$ZABBIX_CHOICE" in + 1) ZABBIX_VERSION="7.0" ;; + 2) ZABBIX_VERSION="7.4" ;; + 3) ZABBIX_VERSION=$(curl -fsSL https://repo.zabbix.com/zabbix/ | + grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1) ;; + *) + ZABBIX_VERSION="7.4" + echo "Invalid choice. Defaulting to 7.4." + ;; + esac + + msg_info "Updating Zabbix to $ZABBIX_VERSION" mkdir -p /opt/zabbix-backup/ cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/ @@ -54,10 +67,8 @@ function update_script() { rm -Rf /etc/apt/sources.list.d/zabbix.list cd /tmp - curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ | - grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 | - xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb")" \ - -o /tmp/zabbix-release_latest+debian13_all.deb + ZABBIX_DEB_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb" + curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/zabbix-release_latest+debian13_all.deb $STD dpkg -i zabbix-release_latest+debian13_all.deb rm -rf /tmp/zabbix-release_latest+debian13_all.deb $STD apt update diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh index 950eb9d77cf..035506e53c7 100644 --- a/install/zabbix-install.sh +++ b/install/zabbix-install.sh @@ -15,16 +15,27 @@ update_os PG_VERSION="17" setup_postgresql -msg_info "Installing Zabbix" +read -rp "Choose Zabbix version [1] 7.0 LTS [2] 7.4 (Latest Stable) [3] Latest available (default: 2): " ZABBIX_CHOICE +ZABBIX_CHOICE=${ZABBIX_CHOICE:-2} +case "$ZABBIX_CHOICE" in +1) ZABBIX_VERSION="7.0" ;; +2) ZABBIX_VERSION="7.4" ;; +3) ZABBIX_VERSION=$(curl -fsSL https://repo.zabbix.com/zabbix/ | + grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1) ;; +*) + ZABBIX_VERSION="7.4" + echo "Invalid choice. Defaulting to 7.4." + ;; +esac + +msg_info "Installing Zabbix $ZABBIX_VERSION" cd /tmp -curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ | - grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 | - xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb")" \ - -o /tmp/zabbix-release_latest+debian13_all.deb +ZABBIX_DEB_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb" +curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/zabbix-release_latest+debian13_all.deb $STD dpkg -i /tmp/zabbix-release_latest+debian13_all.deb $STD apt update $STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts -msg_ok "Installed Zabbix" +msg_ok "Installed Zabbix $ZABBIX_VERSION" while true; do read -rp "Which agent do you want to install? [1=agent (classic), 2=agent2 (modern), default=1]: " AGENT_CHOICE