version 4 released
This commit is contained in:
		
							parent
							
								
									626976b117
								
							
						
					
					
						commit
						f30b0ab8da
					
				@ -1,5 +1,5 @@
 | 
				
			|||||||
# Variablen:
 | 
					# Variablen:
 | 
				
			||||||
# Typ:          Variablen für Script linux-updater.v2.sh
 | 
					# Typ:          Variablen für Script linux-updater.v3.sh
 | 
				
			||||||
# Git-Reposit.: 
 | 
					# Git-Reposit.: 
 | 
				
			||||||
# Version:      1.0
 | 
					# Version:      1.0
 | 
				
			||||||
# Datum:        13.04.2024
 | 
					# Datum:        13.04.2024
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										9
									
								
								.linux-updater.v4.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.linux-updater.v4.env
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					# Variablen:
 | 
				
			||||||
 | 
					# Typ:          Variablen für Script linux-updater.v4.sh
 | 
				
			||||||
 | 
					# Git-Reposit.: 
 | 
				
			||||||
 | 
					# Version:      1.0
 | 
				
			||||||
 | 
					# Datum:        25.11.2024
 | 
				
			||||||
 | 
					# Modifikation: Initial
 | 
				
			||||||
 | 
					#####################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NTFY_URL_ENV=https://ntfy.sh/topic
 | 
				
			||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
# Aufruf:       bash ./linux-updater.v2.sh
 | 
					# Aufruf:       bash ./linux-updater.v2.sh
 | 
				
			||||||
# Autor:        Patrick Asmus
 | 
					# Autor:        Patrick Asmus
 | 
				
			||||||
# Web:          https://www.techniverse.net
 | 
					# Web:          https://www.techniverse.net
 | 
				
			||||||
# Git-Reposit.: https://git.techniverse.net/scriptos/weekly-updater.git
 | 
					# Git-Reposit.: https://git.techniverse.net/scriptos/linux-updater.git
 | 
				
			||||||
# Version:      2.2
 | 
					# Version:      2.2
 | 
				
			||||||
# Datum:        25.11.2024
 | 
					# Datum:        25.11.2024
 | 
				
			||||||
# Modifikation: Wording geändert
 | 
					# Modifikation: Wording geändert
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
# Aufruf:       bash ./linux-updater.v3.sh
 | 
					# Aufruf:       bash ./linux-updater.v3.sh
 | 
				
			||||||
# Autor:        Patrick Asmus
 | 
					# Autor:        Patrick Asmus
 | 
				
			||||||
# Web:          https://www.techniverse.net
 | 
					# Web:          https://www.techniverse.net
 | 
				
			||||||
# Git-Reposit.: https://git.techniverse.net/scriptos/weekly-updater.git
 | 
					# Git-Reposit.: https://git.techniverse.net/scriptos/linux-updater.git
 | 
				
			||||||
# Version:      3.1
 | 
					# Version:      3.1
 | 
				
			||||||
# Datum:        24.11.2024
 | 
					# Datum:        24.11.2024
 | 
				
			||||||
# Modifikation: Wording geändert
 | 
					# Modifikation: Wording geändert
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										95
									
								
								linux-updater.v4.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								linux-updater.v4.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,95 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Script Name:  linux-updater.v4.sh
 | 
				
			||||||
 | 
					# Beschreibung: Wöchentliches Update-Skript für Linux-Systeme
 | 
				
			||||||
 | 
					# Aufruf:       bash ./linux-updater.v4.sh
 | 
				
			||||||
 | 
					# Autor:        Patrick Asmus
 | 
				
			||||||
 | 
					# Web:          https://www.techniverse.net
 | 
				
			||||||
 | 
					# Git-Reposit.: https://git.techniverse.net/scriptos/linux-updater.git
 | 
				
			||||||
 | 
					# Version:      4.0
 | 
				
			||||||
 | 
					# Datum:        25.11.2024
 | 
				
			||||||
 | 
					# Modifikation: Integration von Ntfy für Benachrichtigungen
 | 
				
			||||||
 | 
					#####################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Umgebungsvariablen
 | 
				
			||||||
 | 
					source /root/.env/.linux-updater.v4.env
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Variablen
 | 
				
			||||||
 | 
					SCRIPT_NAME=linux-updater.v4.sh
 | 
				
			||||||
 | 
					HOSTNAME=$(hostname)
 | 
				
			||||||
 | 
					MAIL=root
 | 
				
			||||||
 | 
					LOGDIR=/var/log/script-logs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Benachrichtigungseinstellungen
 | 
				
			||||||
 | 
					NOTIFY_SUCCESS=0
 | 
				
			||||||
 | 
					NOTIFY_FAILURE=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NTFY_URL=$NTFY_URL_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 "*.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 Ntfy, wenn Update erfolgreich
 | 
				
			||||||
 | 
					    if [ "$NOTIFY_SUCCESS" -eq 1 ]; then
 | 
				
			||||||
 | 
					        curl -H "Title: Update erfolgreich" \
 | 
				
			||||||
 | 
					             -H "Priority: min" \
 | 
				
			||||||
 | 
					             -H "Tags: white_check_mark,partying_face" \
 | 
				
			||||||
 | 
					             -H "Attach: https://assets.techniverse.net/f1/scripts/happy_meme.jpg" \
 | 
				
			||||||
 | 
					             -d "Das Update auf Server '$HOSTNAME' wurde erfolgreich abgeschlossen." \
 | 
				
			||||||
 | 
					             "$NTFY_URL"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    # Sende E-Mail, wenn Update fehlgeschlagen
 | 
				
			||||||
 | 
					    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 Ntfy, wenn Update fehlgeschlagen
 | 
				
			||||||
 | 
					    if [ "$NOTIFY_FAILURE" -eq 1 ]; then
 | 
				
			||||||
 | 
					        curl -H "Title: Update fehlgeschlagen" \
 | 
				
			||||||
 | 
					             -H "Priority: high" \
 | 
				
			||||||
 | 
					             -H "Tags: warning,skull" \
 | 
				
			||||||
 | 
					             -H "Attach: https://assets.techniverse.net/f1/scripts/fire_meme.jpg" \
 | 
				
			||||||
 | 
					             -d "Das Update auf Server '$HOSTNAME' ist fehlgeschlagen." \
 | 
				
			||||||
 | 
					             "$NTFY_URL"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit 0
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user