Add Zabbix version selection to install and update scripts (#9430)
Prompts user to select Zabbix version (7.0 LTS, 7.4, or latest) during installation and update. Refactors download logic to use the chosen version, improving flexibility and user control over Zabbix deployment.
This commit is contained in:
parent
ae81cafa10
commit
120affbcc5
21
ct/zabbix.sh
21
ct/zabbix.sh
@ -46,7 +46,20 @@ function update_script() {
|
|||||||
systemctl stop "$AGENT_SERVICE"
|
systemctl stop "$AGENT_SERVICE"
|
||||||
msg_ok "Stopped Services"
|
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/
|
mkdir -p /opt/zabbix-backup/
|
||||||
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
|
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
|
||||||
cp /etc/apache2/conf-enabled/zabbix.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
|
rm -Rf /etc/apt/sources.list.d/zabbix.list
|
||||||
cd /tmp
|
cd /tmp
|
||||||
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
ZABBIX_DEB_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb"
|
||||||
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/zabbix-release_latest+debian13_all.deb
|
||||||
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
|
|
||||||
$STD dpkg -i zabbix-release_latest+debian13_all.deb
|
$STD dpkg -i zabbix-release_latest+debian13_all.deb
|
||||||
rm -rf /tmp/zabbix-release_latest+debian13_all.deb
|
rm -rf /tmp/zabbix-release_latest+debian13_all.deb
|
||||||
$STD apt update
|
$STD apt update
|
||||||
|
|||||||
@ -15,16 +15,27 @@ update_os
|
|||||||
|
|
||||||
PG_VERSION="17" setup_postgresql
|
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
|
cd /tmp
|
||||||
curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ |
|
ZABBIX_DEB_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian13_all.deb"
|
||||||
grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 |
|
curl -fsSL "$ZABBIX_DEB_URL" -o /tmp/zabbix-release_latest+debian13_all.deb
|
||||||
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
|
|
||||||
$STD dpkg -i /tmp/zabbix-release_latest+debian13_all.deb
|
$STD dpkg -i /tmp/zabbix-release_latest+debian13_all.deb
|
||||||
$STD apt update
|
$STD apt update
|
||||||
$STD apt install -y zabbix-server-pgsql zabbix-frontend-php php8.4-pgsql zabbix-apache-conf zabbix-sql-scripts
|
$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
|
while true; do
|
||||||
read -rp "Which agent do you want to install? [1=agent (classic), 2=agent2 (modern), default=1]: " AGENT_CHOICE
|
read -rp "Which agent do you want to install? [1=agent (classic), 2=agent2 (modern), default=1]: " AGENT_CHOICE
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user