Version 3 released | Webhooks sind jetzt Bestandteil
This commit is contained in:
		
							parent
							
								
									ddc61d59c5
								
							
						
					
					
						commit
						5c2b712739
					
				
							
								
								
									
										10
									
								
								.weekly-update.v3.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.weekly-update.v3.env
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
# Variablen:
 | 
			
		||||
# Typ:          Variablen für Script weekly-update.v3.sh
 | 
			
		||||
# Git-Reposit.: 
 | 
			
		||||
# Version:      1.0
 | 
			
		||||
# Datum:        13.04.2024
 | 
			
		||||
# Modifikation: Initial
 | 
			
		||||
#####################################################
 | 
			
		||||
 | 
			
		||||
WEBHOOK_URL_ENV=https://webhooks.techniverse.net/webhooks
 | 
			
		||||
API_KEY_ENV=123456
 | 
			
		||||
							
								
								
									
										80
									
								
								weekly-update.v3.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								weekly-update.v3.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,80 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
# Script Name:  weekly-update.v3.sh
 | 
			
		||||
# Beschreibung: Wöchentliches Update-Skript für Linux-Systeme
 | 
			
		||||
# Aufruf:       bash ./weekly-update.v3.sh
 | 
			
		||||
# Autor:        Patrick Asmus
 | 
			
		||||
# Web:          https://www.techniverse.net
 | 
			
		||||
# Git-Reposit.: https://git.techniverse.net/scriptos/weekly-updater.git
 | 
			
		||||
# Version:      3.0
 | 
			
		||||
# Datum:        13.04.2024
 | 
			
		||||
# Modifikation: Version 3 released | Webhooks sind jetzt Bestandteil
 | 
			
		||||
#####################################################
 | 
			
		||||
 | 
			
		||||
# Umgebungsvariablen
 | 
			
		||||
source /root/.env/.weekly-update.v3.env
 | 
			
		||||
 | 
			
		||||
# Variablen
 | 
			
		||||
SCRIPT_NAME=weekly-update.v3.sh
 | 
			
		||||
HOSTNAME=$(hostname)
 | 
			
		||||
MAIL=root
 | 
			
		||||
LOGDIR=/var/log/script-logs
 | 
			
		||||
 | 
			
		||||
WEBHOOK_URL=$WEBHOOK_URL_ENV
 | 
			
		||||
API_KEY=$API_KEY_ENV
 | 
			
		||||
 | 
			
		||||
# Logging aktivieren
 | 
			
		||||
mkdir -p $LOGDIR
 | 
			
		||||
exec &> >(tee -a "$LOGDIR/$SCRIPT_NAME.log")
 | 
			
		||||
 | 
			
		||||
# Aktualisiere das System
 | 
			
		||||
sudo apt update && sudo apt upgrade -y
 | 
			
		||||
 | 
			
		||||
# Überprüfe, ob das Update erfolgreich war
 | 
			
		||||
if [ $? -eq 0 ]; then
 | 
			
		||||
    # Räume das System auf
 | 
			
		||||
    sudo apt-get autoremove --purge -y
 | 
			
		||||
    sudo apt-get clean -y
 | 
			
		||||
 | 
			
		||||
    # Bereinige Log-Dateien, die älter als 60 Tage sind
 | 
			
		||||
    find /var/log -type f -name "*.log" -mtime +60 -exec rm {} \;
 | 
			
		||||
 | 
			
		||||
    # Bereinige den APT-Cache
 | 
			
		||||
    sudo apt-get clean
 | 
			
		||||
 | 
			
		||||
    # Bereinige den Paket-Cache von alten Paketen
 | 
			
		||||
    sudo apt-get autoclean
 | 
			
		||||
 | 
			
		||||
    # Entferne ungenutzte Abhängigkeiten
 | 
			
		||||
    sudo apt-get autoremove --purge
 | 
			
		||||
 | 
			
		||||
    # Bereinige die Homeverzeichnisse der Benutzer
 | 
			
		||||
    find /home -type f \( -name "*.bak" -o -name "*.tmp" -o -name "*.swp" \) -delete
 | 
			
		||||
 | 
			
		||||
    # Leere den Trash-Ordner des Root-Benutzers
 | 
			
		||||
    sudo rm -rf /root/.local/share/Trash/*
 | 
			
		||||
 | 
			
		||||
    # Leere den Trash-Ordner der Benutzer, falls vorhanden
 | 
			
		||||
    for user in /home/*; do
 | 
			
		||||
        if [ -d "$user/.local/share/Trash" ]; then
 | 
			
		||||
            sudo rm -rf "$user/.local/share/Trash/*"
 | 
			
		||||
        fi
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    # Leere das temporäre Verzeichnis
 | 
			
		||||
    sudo rm -rf /tmp/*
 | 
			
		||||
 | 
			
		||||
    # Sende Benachrichtigung über Webhook
 | 
			
		||||
    curl -d "{\"body\": \"$HOSTNAME: Das wöchentliche Update wurde erfolgreich durchgeführt.\", \"key\": \"$API_KEY\"}" \
 | 
			
		||||
         "$WEBHOOK_URL"
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
    # Sende eine E-Mail, wenn das Update fehlgeschlagen ist
 | 
			
		||||
    log_contents=$(cat $LOGDIR/$SCRIPT_NAME.log)
 | 
			
		||||
    echo -e "Das Update auf $HOSTNAME ist fehlgeschlagen! \n\nLog-Inhalt: \n\n$log_contents" | mail -s "Wöchentliches Update auf $HOSTNAME fehlgeschlagen" $MAIL
 | 
			
		||||
 | 
			
		||||
    # Sende Benachrichtigung über Webhook
 | 
			
		||||
    curl -d "{\"body\": \"$HOSTNAME: Das wöchentliche Update ist fehlgeschlagen.\", \"key\": \"$API_KEY\"}" \
 | 
			
		||||
         "$WEBHOOK_URL"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user