2 Commits

Author SHA1 Message Date
patrick 2954647d87 miyagi-backup.sh aktualisiert
extra monitoring hosts
2025-06-29 20:52:26 +02:00
patrick 0efa02e0c2 config.example aktualisiert
extra monitoring hosts
2025-06-29 20:50:29 +02:00
2 changed files with 74 additions and 4 deletions
+12 -1
View File
@@ -1,10 +1,10 @@
#Edit all Variables for best Experience
SSHPORT='22' # SSH-Port, normalerweise 22
UPDATES='yes' # Proxmox VE und PBS Updates nach dem Lauf
SHUTDOWN='no' # System nach Ausführung herunterfahren?
# Quelle (Proxmox VE System, das gesichert wird)
SSHPORT='22' # SSH-Port, normalerweise 22
SOURCEHOST='192.168.50.200' # IP des Quell-Proxmox-Servers
# Replikation (ZFS)
@@ -28,3 +28,14 @@ BACKUPSTORE='backup' # Datastore auf Quell-Proxmox
BACKUPSTOREPBS='backup' # Datastore auf PBS
BACKUPEXCLUDE='10,3252,3253,3254' # VM/CT-IDs, die vom Backup ausgeschlossen sind
REPLEXCLUDE="$BACKUPEXCLUDE" # Diese auch von Replikation ausschließen
# Zusätzliche Monitoring-Ziele
# External Piggyback Host
EPIGGYBACK='no' # Piggyback-Daten an Monitoring-Ziel senden?
EPIGGYBACK_PORT='222' # SSH-Port für EPIGGYBACK_HOST
EPIGGYBACK_HOST='192.168.66.10' # Monitoring-Zielhost für Piggyback
# External Checkzfs Host
ECHECKZFS='no' # check_zfs-Output an Monitoring-Ziel senden?
ECHECKZFS_PORT='2222' # SSH-Port für ECHECKZFS_HOST
ECHECKZFS_HOST='192.168.50.210' # Monitoring-Zielhost für check_zfs
+61 -2
View File
@@ -60,7 +60,6 @@ fi
ZPUSHMINKEEP
ZPUSHKEEP
ZPUSHLABEL
ZPUSHFILTER
PBSHOST
BACKUPSTORE
BACKUPSTOREPBS
@@ -324,6 +323,7 @@ shutdown_if_requested() {
#if [[ "${SHUTDOWN,,}" == "yes" ]]; then
if [[ "$(echo "$SHUTDOWN" | tr '[:upper:]' '[:lower:]')" == "yes" ]]; then
send_piggyback_data
send_piggyback_data_external
log "Shutting down now..."
shutdown now
else
@@ -331,6 +331,64 @@ shutdown_if_requested() {
fi
}
send_piggyback_data_external() {
if [[ "${EPIGGYBACK,,}" != "yes" ]]; then
log "Externer Piggyback-Export deaktiviert."
return
fi
if [[ -z "$EPIGGYBACK_HOST" || -z "$EPIGGYBACK_PORT" ]]; then
log "EPIGGYBACK_HOST oder EPIGGYBACK_PORT nicht gesetzt Abbruch."
return 1
fi
local combined_host="miyagi-${SOURCEHOSTNAME}-$(hostname)"
local filename="90000_${combined_host}_external"
log "Erzeuge externe Piggyback-Datei: $filename"
{
echo "<<<<${combined_host}>>>>"
/usr/bin/check_mk_agent
echo "<<<<>>>>"
} > "$filename"
if scp -P "$EPIGGYBACK_PORT" "$filename" "$EPIGGYBACK_HOST:/var/lib/check_mk_agent/spool/"; then
log "Piggyback-Daten erfolgreich an $EPIGGYBACK_HOST gesendet."
else
log "Fehler beim Senden der Piggyback-Daten an $EPIGGYBACK_HOST"
fi
rm -f "$filename"
}
send_checkzfs_output_external() {
if [[ "${ECHECKZFS,,}" != "yes" ]]; then
log "Externer check_zfs-Export deaktiviert."
return
fi
if [[ -z "$ECHECKZFS_HOST" || -z "$ECHECKZFS_PORT" ]]; then
log "ECHECKZFS_HOST oder ECHECKZFS_PORT nicht gesetzt Abbruch."
return 1
fi
local checkfile="/tmp/90000_checkzfs_external"
log "Führe check_zfs aus und schreibe Output nach $checkfile"
/usr/lib/nagios/plugins/check_zfs > "$checkfile" 2>&1 || log "check_zfs Befehl fehlgeschlagen"
log "Sende check_zfs-Daten an $ECHECKZFS_HOST..."
if scp -P "$ECHECKZFS_PORT" "$checkfile" "$ECHECKZFS_HOST:/var/lib/check_mk_agent/spool/"; then
log "Check_zfs-Daten erfolgreich an $ECHECKZFS_HOST gesendet."
else
log "Fehler beim Senden der Check_zfs-Daten an $ECHECKZFS_HOST"
fi
rm -f "$checkfile"
}
main() {
log "Backup-Routine startet in 60 Sekunden..."
sleep 60
@@ -341,9 +399,9 @@ main() {
set_wol_g_enabled
write_zsync_config
run_zsync
send_checkzfs_output_external
run_scrub_stop_local
run_scrub_stop_src
if [[ "${BACKUPSERVER,,}" == "yes" ]]; then
log "BACKUPSERVER ist aktiviert, führe Backup aus..."
run_maintenance
@@ -354,6 +412,7 @@ main() {
run_remote_updates
run_updates
shutdown_if_requested
}