Initial commit: Zabbix Agent 7.4 deployment scripts
This commit is contained in:
105
README.md
Normal file
105
README.md
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
# Zabbix Agent Deployment
|
||||||
|
|
||||||
|
Bash-Skripte zur automatischen Installation und Aktualisierung des Zabbix Agent 2 (Version 7.4) auf Debian/Ubuntu-Systemen – lokal oder per SSH-Remote-Deployment.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Voraussetzungen
|
||||||
|
|
||||||
|
- Zielhost: Debian 11/12 oder Ubuntu 20.04 / 22.04 / 24.04
|
||||||
|
- SSH Key-Authentifizierung eingerichtet (`~/.ssh/config`)
|
||||||
|
- Zielhost muss als `root` erreichbar sein
|
||||||
|
- `wget` auf dem Zielhost vorhanden
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Konfiguration
|
||||||
|
|
||||||
|
In `install-zabbix-agent.sh` die Zabbix-Server-Adresse eintragen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ZABBIX_SERVER="zabbix.example.com" # Zeile 16
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Skripte
|
||||||
|
|
||||||
|
### `install-zabbix-agent.sh`
|
||||||
|
Installiert Zabbix Agent 2 auf dem lokalen System.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo bash install-zabbix-agent.sh <zabbix-hostname>
|
||||||
|
```
|
||||||
|
|
||||||
|
Was es tut:
|
||||||
|
- Erkennt automatisch Debian oder Ubuntu (inkl. Version)
|
||||||
|
- Richtet das Zabbix 7.4 Repository ein
|
||||||
|
- Installiert `zabbix-agent2`
|
||||||
|
- Setzt `Hostname` und `ServerActive` in der Konfiguration
|
||||||
|
- Aktiviert und startet den Dienst
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### `deploy-zabbix-agent.sh`
|
||||||
|
Installiert Zabbix Agent 2 auf einem entfernten Host per SSH.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash deploy-zabbix-agent.sh <ssh-config-name> <zabbix-hostname>
|
||||||
|
```
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
```bash
|
||||||
|
bash deploy-zabbix-agent.sh webserver webserver-prod-01
|
||||||
|
```
|
||||||
|
|
||||||
|
`<ssh-config-name>` ist der Host-Eintrag aus `~/.ssh/config`. User, Port und Key werden automatisch von dort übernommen.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### `update-zabbix-agent.sh`
|
||||||
|
Aktualisiert einen vorhandenen Zabbix Agent 2 auf Version 7.4 auf dem lokalen System.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo bash update-zabbix-agent.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Was es tut:
|
||||||
|
- Prüft ob `zabbix-agent2` installiert ist
|
||||||
|
- Richtet das Zabbix 7.4 Repository ein
|
||||||
|
- Führt das Upgrade durch – **bestehende Konfiguration bleibt erhalten**
|
||||||
|
- Interaktive Rückfragen von `dpkg`/`apt` werden automatisch unterdrückt
|
||||||
|
- Startet den Dienst neu
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### `deploy-update-zabbix-agent.sh`
|
||||||
|
Aktualisiert Zabbix Agent 2 auf einem entfernten Host per SSH.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash deploy-update-zabbix-agent.sh <ssh-config-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
Beispiel:
|
||||||
|
```bash
|
||||||
|
bash deploy-update-zabbix-agent.sh webserver
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ablauf nach der Installation
|
||||||
|
|
||||||
|
Den Host im Zabbix-Frontend anlegen, falls noch nicht vorhanden:
|
||||||
|
|
||||||
|
**Configuration → Hosts → Create host**
|
||||||
|
|
||||||
|
- Host name: identisch mit dem beim Skriptaufruf angegebenen `<zabbix-hostname>`
|
||||||
|
- Interface: Agent (aktiv) – keine IP-Adresse notwendig bei reinem Aktiv-Modus
|
||||||
|
- Template: z.B. `Linux by Zabbix agent active`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hinweise
|
||||||
|
|
||||||
|
- TrueNAS SCALE: Package-Management ist gesperrt, Agent-Installation nicht möglich. Überwachung via **SNMP** empfohlen (Services → SNMP im TrueNAS Web-Interface).
|
||||||
|
- Der SSH Post-Quantum-Hinweis (`WARNING: connection is not using a post-quantum key exchange algorithm`) ist eine reine Warnung des OpenSSH-Clients und hat keinen Einfluss auf die Funktion.
|
||||||
57
deploy-update-zabbix-agent.sh
Executable file
57
deploy-update-zabbix-agent.sh
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# =============================================================================
|
||||||
|
# Zabbix Agent 2 – Remote-Update via SSH
|
||||||
|
#
|
||||||
|
# Aufruf:
|
||||||
|
# bash deploy-update-zabbix-agent.sh <ssh-config-name>
|
||||||
|
#
|
||||||
|
# Beispiel:
|
||||||
|
# bash deploy-update-zabbix-agent.sh webserver
|
||||||
|
#
|
||||||
|
# Der <ssh-config-name> entspricht dem Host-Eintrag in ~/.ssh/config.
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Farben
|
||||||
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
||||||
|
info() { echo -e "${GREEN}[INFO]${NC} $*"; }
|
||||||
|
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
||||||
|
error() { echo -e "${RED}[ERROR]${NC} $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# ── Parameter ─────────────────────────────────────────────────────────────────
|
||||||
|
[[ $# -lt 1 ]] && error "Aufruf: $0 <ssh-config-name>\nBeispiel: $0 webserver"
|
||||||
|
|
||||||
|
SSH_HOST="$1"
|
||||||
|
REMOTE_TMP="/tmp/update-zabbix-agent.sh"
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
UPDATE_SCRIPT="${SCRIPT_DIR}/update-zabbix-agent.sh"
|
||||||
|
|
||||||
|
# ── Prüfungen ─────────────────────────────────────────────────────────────────
|
||||||
|
[[ ! -f "$UPDATE_SCRIPT" ]] && error "Update-Skript nicht gefunden: ${UPDATE_SCRIPT}"
|
||||||
|
|
||||||
|
# SSH-Verbindung testen
|
||||||
|
info "Teste SSH-Verbindung zu '${SSH_HOST}' (via ~/.ssh/config) ..."
|
||||||
|
ssh -o ConnectTimeout=10 \
|
||||||
|
-o BatchMode=yes \
|
||||||
|
-o StrictHostKeyChecking=accept-new \
|
||||||
|
"${SSH_HOST}" "echo ok" > /dev/null \
|
||||||
|
|| error "SSH-Verbindung fehlgeschlagen. Ist '${SSH_HOST}' in ~/.ssh/config definiert?"
|
||||||
|
|
||||||
|
# ── Skript übertragen ─────────────────────────────────────────────────────────
|
||||||
|
info "Übertrage Update-Skript auf '${SSH_HOST}' ..."
|
||||||
|
scp -q \
|
||||||
|
-o StrictHostKeyChecking=accept-new \
|
||||||
|
"$UPDATE_SCRIPT" \
|
||||||
|
"${SSH_HOST}:${REMOTE_TMP}"
|
||||||
|
|
||||||
|
# ── Remote-Update ─────────────────────────────────────────────────────────────
|
||||||
|
info "Starte Update auf '${SSH_HOST}' ..."
|
||||||
|
echo "──────────────────────────────────────────────────"
|
||||||
|
ssh -o StrictHostKeyChecking=accept-new \
|
||||||
|
"${SSH_HOST}" \
|
||||||
|
"bash ${REMOTE_TMP}; rm -f ${REMOTE_TMP}"
|
||||||
|
echo "──────────────────────────────────────────────────"
|
||||||
|
|
||||||
|
info "Update auf '${SSH_HOST}' abgeschlossen."
|
||||||
61
deploy-zabbix-agent.sh
Executable file
61
deploy-zabbix-agent.sh
Executable file
@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# =============================================================================
|
||||||
|
# Zabbix Agent 2 – Remote-Deployment via SSH
|
||||||
|
#
|
||||||
|
# Aufruf:
|
||||||
|
# bash deploy-zabbix-agent.sh <ssh-config-name> <zabbix-hostname>
|
||||||
|
#
|
||||||
|
# Beispiele:
|
||||||
|
# bash deploy-zabbix-agent.sh webserver webserver-prod-01
|
||||||
|
# bash deploy-zabbix-agent.sh db-server db-server-02
|
||||||
|
#
|
||||||
|
# Der <ssh-config-name> entspricht dem Host-Eintrag in ~/.ssh/config.
|
||||||
|
# User, Port und Key werden von dort automatisch übernommen.
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Farben
|
||||||
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
||||||
|
info() { echo -e "${GREEN}[INFO]${NC} $*"; }
|
||||||
|
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
||||||
|
error() { echo -e "${RED}[ERROR]${NC} $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# ── Parameter ─────────────────────────────────────────────────────────────────
|
||||||
|
[[ $# -lt 2 ]] && error "Aufruf: $0 <ssh-config-name> <zabbix-hostname>\nBeispiel: $0 webserver webserver-prod-01"
|
||||||
|
|
||||||
|
SSH_HOST="$1"
|
||||||
|
ZABBIX_HOSTNAME="$2"
|
||||||
|
REMOTE_TMP="/tmp/install-zabbix-agent.sh"
|
||||||
|
|
||||||
|
# Pfad zum Install-Skript (liegt im selben Verzeichnis wie dieses Skript)
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
INSTALL_SCRIPT="${SCRIPT_DIR}/install-zabbix-agent.sh"
|
||||||
|
|
||||||
|
# ── Prüfungen ─────────────────────────────────────────────────────────────────
|
||||||
|
[[ ! -f "$INSTALL_SCRIPT" ]] && error "Install-Skript nicht gefunden: ${INSTALL_SCRIPT}"
|
||||||
|
|
||||||
|
# SSH-Verbindung testen
|
||||||
|
info "Teste SSH-Verbindung zu '${SSH_HOST}' (via ~/.ssh/config) ..."
|
||||||
|
ssh -o ConnectTimeout=10 \
|
||||||
|
-o BatchMode=yes \
|
||||||
|
-o StrictHostKeyChecking=accept-new \
|
||||||
|
"${SSH_HOST}" "echo ok" > /dev/null \
|
||||||
|
|| error "SSH-Verbindung fehlgeschlagen. Ist '${SSH_HOST}' in ~/.ssh/config definiert und erreichbar?"
|
||||||
|
|
||||||
|
# ── Skript übertragen ─────────────────────────────────────────────────────────
|
||||||
|
info "Übertrage Install-Skript auf '${SSH_HOST}' ..."
|
||||||
|
scp -q \
|
||||||
|
-o StrictHostKeyChecking=accept-new \
|
||||||
|
"$INSTALL_SCRIPT" \
|
||||||
|
"${SSH_HOST}:${REMOTE_TMP}"
|
||||||
|
|
||||||
|
# ── Remote-Installation ───────────────────────────────────────────────────────
|
||||||
|
info "Starte Installation auf '${SSH_HOST}' (Zabbix-Hostname: ${ZABBIX_HOSTNAME}) ..."
|
||||||
|
echo "──────────────────────────────────────────────────"
|
||||||
|
ssh -o StrictHostKeyChecking=accept-new \
|
||||||
|
"${SSH_HOST}" \
|
||||||
|
"bash ${REMOTE_TMP} ${ZABBIX_HOSTNAME}; rm -f ${REMOTE_TMP}"
|
||||||
|
echo "──────────────────────────────────────────────────"
|
||||||
|
|
||||||
|
info "Deployment auf '${SSH_HOST}' abgeschlossen."
|
||||||
99
install-zabbix-agent.sh
Executable file
99
install-zabbix-agent.sh
Executable file
@ -0,0 +1,99 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# =============================================================================
|
||||||
|
# Zabbix Agent 2 – Aktiv-Modus Installer (Version 7.4)
|
||||||
|
# Unterstützte Systeme: Debian 11/12, Ubuntu 20.04 / 22.04 / 24.04
|
||||||
|
#
|
||||||
|
# Aufruf:
|
||||||
|
# sudo bash install-zabbix-agent.sh <hostname>
|
||||||
|
#
|
||||||
|
# Beispiel:
|
||||||
|
# sudo bash install-zabbix-agent.sh webserver-prod-01
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# ── Konfiguration ────────────────────────────────────────────────────────────
|
||||||
|
ZABBIX_SERVER="zabbix.server-nb.de" # <-- Zabbix-Server-Adresse hier eintragen
|
||||||
|
ZABBIX_VERSION="7.4"
|
||||||
|
# ─────────────────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
# Farben
|
||||||
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
||||||
|
info() { echo -e "${GREEN}[INFO]${NC} $*"; }
|
||||||
|
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
||||||
|
error() { echo -e "${RED}[ERROR]${NC} $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# ── Prüfungen ────────────────────────────────────────────────────────────────
|
||||||
|
[[ $EUID -ne 0 ]] && error "Bitte als root oder mit sudo ausführen."
|
||||||
|
[[ $# -lt 1 ]] && error "Kein Hostname angegeben.\nAufruf: $0 <hostname>"
|
||||||
|
|
||||||
|
AGENT_HOSTNAME="$1"
|
||||||
|
|
||||||
|
# ── OS-Erkennung ─────────────────────────────────────────────────────────────
|
||||||
|
if [[ ! -f /etc/os-release ]]; then
|
||||||
|
error "Kein /etc/os-release gefunden – kann OS nicht erkennen."
|
||||||
|
fi
|
||||||
|
source /etc/os-release
|
||||||
|
|
||||||
|
case "$ID" in
|
||||||
|
debian) REPO_OS="debian"; REPO_CODENAME="${VERSION_CODENAME}" ;;
|
||||||
|
ubuntu) REPO_OS="ubuntu"; REPO_CODENAME="${VERSION_CODENAME}" ;;
|
||||||
|
*) error "Nicht unterstütztes Betriebssystem: $ID" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
info "System erkannt: ${PRETTY_NAME} (${REPO_CODENAME})"
|
||||||
|
|
||||||
|
# ── Zabbix-Repo einrichten ───────────────────────────────────────────────────
|
||||||
|
RELEASE_PKG="zabbix-release_latest_${ZABBIX_VERSION}+${REPO_OS}${VERSION_ID}_all.deb"
|
||||||
|
REPO_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/${REPO_OS}/pool/main/z/zabbix-release/${RELEASE_PKG}"
|
||||||
|
|
||||||
|
#"Lade Zabbix-Repository-Paket herunter ..."
|
||||||
|
wget -q --show-progress -O "/tmp/${RELEASE_PKG}" "${REPO_URL}" \
|
||||||
|
|| error "Download fehlgeschlagen: ${REPO_URL}"
|
||||||
|
|
||||||
|
info "Installiere Repository-Paket ..."
|
||||||
|
dpkg -i "/tmp/${RELEASE_PKG}"
|
||||||
|
rm -f "/tmp/${RELEASE_PKG}"
|
||||||
|
|
||||||
|
apt-get update -qq
|
||||||
|
|
||||||
|
# ── Zabbix Agent 2 installieren ──────────────────────────────────────────────
|
||||||
|
info "Installiere zabbix-agent2 ..."
|
||||||
|
apt-get install -y -qq zabbix-agent2
|
||||||
|
|
||||||
|
# ── Konfiguration schreiben ───────────────────────────────────────────────────
|
||||||
|
CONF="/etc/zabbix/zabbix_agent2.conf"
|
||||||
|
|
||||||
|
info "Konfiguriere Zabbix Agent 2 (aktiv, Hostname: ${AGENT_HOSTNAME}) ..."
|
||||||
|
|
||||||
|
# Hostname setzen
|
||||||
|
sed -i "s|^Hostname=.*|Hostname=${AGENT_HOSTNAME}|" "$CONF"
|
||||||
|
|
||||||
|
# Aktiven Server setzen
|
||||||
|
sed -i "s|^ServerActive=.*|ServerActive=${ZABBIX_SERVER}|" "$CONF"
|
||||||
|
|
||||||
|
# Passiver Server (bleibt für lokale Health-Checks; externe Verbindungen
|
||||||
|
# werden durch die Firewall geblockt – ggf. anpassen)
|
||||||
|
sed -i "s|^Server=.*|Server=${ZABBIX_SERVER}|" "$CONF"
|
||||||
|
|
||||||
|
# HostnameItem deaktivieren, damit der manuell gesetzte Hostname gilt
|
||||||
|
sed -i "s|^# HostnameItem=.*|# HostnameItem=|" "$CONF" 2>/dev/null || true
|
||||||
|
|
||||||
|
# ── Dienst aktivieren und starten ────────────────────────────────────────────
|
||||||
|
info "Aktiviere und starte Dienst ..."
|
||||||
|
systemctl enable zabbix-agent2
|
||||||
|
systemctl restart zabbix-agent2
|
||||||
|
|
||||||
|
# ── Ergebnis ─────────────────────────────────────────────────────────────────
|
||||||
|
echo ""
|
||||||
|
info "════════════════════════════════════════════════"
|
||||||
|
info " Zabbix Agent 2 erfolgreich installiert!"
|
||||||
|
info " Hostname : ${AGENT_HOSTNAME}"
|
||||||
|
info " Server : ${ZABBIX_SERVER}"
|
||||||
|
info " Modus : Aktiv"
|
||||||
|
info " Config : ${CONF}"
|
||||||
|
info " Status : $(systemctl is-active zabbix-agent2)"
|
||||||
|
info "════════════════════════════════════════════════"
|
||||||
|
echo ""
|
||||||
|
warn "Denk daran: Den Host '${AGENT_HOSTNAME}' im Zabbix-Frontend anlegen,"
|
||||||
|
warn "falls er noch nicht existiert (Configuration → Hosts → Create host)."
|
||||||
86
update-zabbix-agent.sh
Executable file
86
update-zabbix-agent.sh
Executable file
@ -0,0 +1,86 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# =============================================================================
|
||||||
|
# Zabbix Agent 2 – Update auf Version 7.4
|
||||||
|
# Unterstützte Systeme: Debian 11/12, Ubuntu 20.04 / 22.04 / 24.04
|
||||||
|
#
|
||||||
|
# Aufruf:
|
||||||
|
# sudo bash update-zabbix-agent.sh
|
||||||
|
#
|
||||||
|
# Bestehende Konfiguration (/etc/zabbix/zabbix_agent2.conf) bleibt erhalten.
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
ZABBIX_VERSION="7.4"
|
||||||
|
|
||||||
|
# Farben
|
||||||
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
|
||||||
|
info() { echo -e "${GREEN}[INFO]${NC} $*"; }
|
||||||
|
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
||||||
|
error() { echo -e "${RED}[ERROR]${NC} $*" >&2; exit 1; }
|
||||||
|
|
||||||
|
# ── Prüfungen ─────────────────────────────────────────────────────────────────
|
||||||
|
[[ $EUID -ne 0 ]] && error "Bitte als root oder mit sudo ausführen."
|
||||||
|
|
||||||
|
# ── OS-Erkennung ──────────────────────────────────────────────────────────────
|
||||||
|
[[ ! -f /etc/os-release ]] && error "Kein /etc/os-release gefunden."
|
||||||
|
source /etc/os-release
|
||||||
|
|
||||||
|
case "$ID" in
|
||||||
|
debian) REPO_OS="debian" ;;
|
||||||
|
ubuntu) REPO_OS="ubuntu" ;;
|
||||||
|
*) error "Nicht unterstütztes Betriebssystem: $ID" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
info "System erkannt: ${PRETTY_NAME}"
|
||||||
|
|
||||||
|
# ── Aktuelle Version ermitteln ────────────────────────────────────────────────
|
||||||
|
CURRENT_VERSION=$(dpkg -l zabbix-agent2 2>/dev/null | awk '/^ii/{print $3}' | head -1 || true)
|
||||||
|
if [[ -z "$CURRENT_VERSION" ]]; then
|
||||||
|
error "zabbix-agent2 ist nicht installiert. Bitte zuerst install-zabbix-agent.sh ausführen."
|
||||||
|
fi
|
||||||
|
info "Installierte Version: ${CURRENT_VERSION}"
|
||||||
|
|
||||||
|
# ── Zabbix 7.4 Repository einrichten ─────────────────────────────────────────
|
||||||
|
RELEASE_PKG="zabbix-release_latest_${ZABBIX_VERSION}+${REPO_OS}${VERSION_ID}_all.deb"
|
||||||
|
REPO_URL="https://repo.zabbix.com/zabbix/${ZABBIX_VERSION}/release/${REPO_OS}/pool/main/z/zabbix-release/${RELEASE_PKG}"
|
||||||
|
|
||||||
|
info "Lade Zabbix ${ZABBIX_VERSION} Repository-Paket herunter ..."
|
||||||
|
wget -q --show-progress -O "/tmp/${RELEASE_PKG}" "${REPO_URL}" \
|
||||||
|
|| error "Download fehlgeschlagen: ${REPO_URL}"
|
||||||
|
|
||||||
|
info "Installiere Repository-Paket ..."
|
||||||
|
# --force-confold: bestehende Repo-Konfiguration behalten, keine Rückfrage
|
||||||
|
# Hinweis: dpkg kennt kein -o, die Option wird direkt übergeben
|
||||||
|
DEBIAN_FRONTEND=noninteractive dpkg --force-confold -i "/tmp/${RELEASE_PKG}"
|
||||||
|
rm -f "/tmp/${RELEASE_PKG}"
|
||||||
|
|
||||||
|
apt-get update -qq
|
||||||
|
|
||||||
|
# ── Update durchführen ────────────────────────────────────────────────────────
|
||||||
|
info "Aktualisiere zabbix-agent2 auf Version ${ZABBIX_VERSION} ..."
|
||||||
|
info "(Bestehende Konfigurationsdatei wird beibehalten)"
|
||||||
|
|
||||||
|
# --force-confold: bei Konflikten immer die vorhandene Config behalten, keine Rückfrage
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install \
|
||||||
|
--only-upgrade \
|
||||||
|
-y \
|
||||||
|
-o Dpkg::Options::="--force-confold" \
|
||||||
|
-o Dpkg::Options::="--force-confdef" \
|
||||||
|
zabbix-agent2
|
||||||
|
|
||||||
|
# ── Dienst neu starten ────────────────────────────────────────────────────────
|
||||||
|
info "Starte zabbix-agent2 neu ..."
|
||||||
|
systemctl restart zabbix-agent2
|
||||||
|
|
||||||
|
# ── Ergebnis ──────────────────────────────────────────────────────────────────
|
||||||
|
NEW_VERSION=$(dpkg -l zabbix-agent2 2>/dev/null | awk '/^ii/{print $3}' | head -1 || true)
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
info "════════════════════════════════════════════════"
|
||||||
|
info " Zabbix Agent 2 erfolgreich aktualisiert!"
|
||||||
|
info " Vorher : ${CURRENT_VERSION}"
|
||||||
|
info " Nachher: ${NEW_VERSION}"
|
||||||
|
info " Config : /etc/zabbix/zabbix_agent2.conf (unverändert)"
|
||||||
|
info " Status : $(systemctl is-active zabbix-agent2)"
|
||||||
|
info "════════════════════════════════════════════════"
|
||||||
Reference in New Issue
Block a user