From 2954647d879587b698f3f41971e8a7ded7c55729 Mon Sep 17 00:00:00 2001 From: patrick Date: Sun, 29 Jun 2025 20:52:26 +0200 Subject: [PATCH] miyagi-backup.sh aktualisiert extra monitoring hosts --- miyagi-backup.sh | 63 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/miyagi-backup.sh b/miyagi-backup.sh index 4d27ead..70b65d5 100644 --- a/miyagi-backup.sh +++ b/miyagi-backup.sh @@ -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 }