Bereinigung der Verzeichnisse + Sicherung Kernel reingenommen
This commit is contained in:
		
							parent
							
								
									89e52e2b4a
								
							
						
					
					
						commit
						cda73fc572
					
				@ -8,7 +8,7 @@ Dieses Skript ist eine verbesserte Version eines wöchentlichen Update-Skripts f
 | 
				
			|||||||
- Definiert Variablen für den Hostnamen des Systems und die E-Mail-Adresse für Benachrichtigungen bei fehlgeschlagenen Updates.
 | 
					- Definiert Variablen für den Hostnamen des Systems und die E-Mail-Adresse für Benachrichtigungen bei fehlgeschlagenen Updates.
 | 
				
			||||||
- Aktualisiert das System mit den Befehlen `sudo apt update` und `sudo apt upgrade -y`.
 | 
					- Aktualisiert das System mit den Befehlen `sudo apt update` und `sudo apt upgrade -y`.
 | 
				
			||||||
- Überprüft das Ergebnis des Updates und sendet bei einem fehlgeschlagenen Update eine E-Mail mit Informationen und dem Protokollinhalt.
 | 
					- Überprüft das Ergebnis des Updates und sendet bei einem fehlgeschlagenen Update eine E-Mail mit Informationen und dem Protokollinhalt.
 | 
				
			||||||
- Führt Systembereinigungsbefehle (`sudo apt-get autoremove --purge -y` und `sudo apt-get clean -y`) aus, wenn das Update erfolgreich war.
 | 
					- Führt Systembereinigungsbefehle aus, bereinigt Verzeichnisse und sichert den letzten funktionierenden Kernel, wenn das Update erfolgreich war.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Verwendung
 | 
					## Verwendung
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -5,9 +5,9 @@
 | 
				
			|||||||
# Autor:        Patrick Asmus
 | 
					# Autor:        Patrick Asmus
 | 
				
			||||||
# Web:          https://www.media-techport.de
 | 
					# Web:          https://www.media-techport.de
 | 
				
			||||||
# Git-Reposit.: https://git.media-techport.de/scriptos/weekly-updater.git
 | 
					# Git-Reposit.: https://git.media-techport.de/scriptos/weekly-updater.git
 | 
				
			||||||
# Version:      2.0.3
 | 
					# Version:      2.1.0
 | 
				
			||||||
# Datum:        15.07.2023
 | 
					# Datum:        11.08.2023
 | 
				
			||||||
# Modifikation: Header angepasst, Tagesprüfung rausgenommen
 | 
					# Modifikation: Bereinigung der Verzeichnisse + Sicherung Kernel reingenommen
 | 
				
			||||||
#####################################################
 | 
					#####################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Logverzeichnis erstellen
 | 
					# Logverzeichnis erstellen
 | 
				
			||||||
@ -22,15 +22,46 @@ LOGDIR=/var/log/script-logs
 | 
				
			|||||||
# Aktualisiere das System und speichere die Ausgabe in eine Log-Datei
 | 
					# Aktualisiere das System und speichere die Ausgabe in eine Log-Datei
 | 
				
			||||||
sudo apt update && sudo apt upgrade -y &> /var/log/script-logs/weekly-update.v2.log
 | 
					sudo apt update && sudo apt upgrade -y &> /var/log/script-logs/weekly-update.v2.log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Überpruefe, ob das Update erfolgreich war
 | 
					# Überprüfe, ob das Update erfolgreich war
 | 
				
			||||||
    if [ $? -ne 0 ]; then
 | 
					if [ $? -eq 0 ]; then
 | 
				
			||||||
        # Sende eine E-Mail, wenn das Update fehlgeschlagen ist
 | 
					    # Räume das System auf
 | 
				
			||||||
        log_contents=$(cat $LOGDIR/$SCRIPT_NAME.log)
 | 
					    sudo apt-get autoremove --purge -y
 | 
				
			||||||
        echo -e "Das Update auf $HOSTNAME ist fehlgeschlagen! \n\nLog-Inhalt: \n\n$log_contents" | mail -s "Woechentliches Update auf $hostname fehlgeschlagen" $MAIL
 | 
					    sudo apt-get clean -y
 | 
				
			||||||
    else
 | 
					
 | 
				
			||||||
        # Raeume das System auf
 | 
					    # Bereinige Log-Dateien, die älter als 30 Tage sind
 | 
				
			||||||
        sudo apt-get autoremove --purge -y
 | 
					    find /var/log -type f -name "*.log" -mtime +30 -exec rm {} \;
 | 
				
			||||||
        sudo apt-get clean -y
 | 
					
 | 
				
			||||||
    fi
 | 
					    # 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
 | 
				
			||||||
 | 
					    for user in /home/*; do
 | 
				
			||||||
 | 
					        if [ -d "$user/.local/share/Trash" ]; then
 | 
				
			||||||
 | 
					            sudo rm -rf "$user/.local/share/Trash/*"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Leere den temporären Verzeichnis
 | 
				
			||||||
 | 
					    sudo rm -rf /tmp/*
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # Behalte den letzten verwendeten Kernel
 | 
				
			||||||
 | 
					    sudo apt-get remove --purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -v -e "$(uname -r | cut -f1,2 -d"-")")
 | 
				
			||||||
 | 
					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 "Woechentliches Update auf $HOSTNAME fehlgeschlagen" $MAIL
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exit 0
 | 
					exit 0
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user