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.
|
||||
- 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.
|
||||
- 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
|
||||
|
||||
|
@ -5,9 +5,9 @@
|
||||
# Autor: Patrick Asmus
|
||||
# Web: https://www.media-techport.de
|
||||
# Git-Reposit.: https://git.media-techport.de/scriptos/weekly-updater.git
|
||||
# Version: 2.0.3
|
||||
# Datum: 15.07.2023
|
||||
# Modifikation: Header angepasst, Tagesprüfung rausgenommen
|
||||
# Version: 2.1.0
|
||||
# Datum: 11.08.2023
|
||||
# Modifikation: Bereinigung der Verzeichnisse + Sicherung Kernel reingenommen
|
||||
#####################################################
|
||||
|
||||
# Logverzeichnis erstellen
|
||||
@ -22,15 +22,46 @@ LOGDIR=/var/log/script-logs
|
||||
# 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
|
||||
|
||||
# Überpruefe, ob das Update erfolgreich war
|
||||
if [ $? -ne 0 ]; then
|
||||
# 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
|
||||
else
|
||||
# Raeume das System auf
|
||||
# Ü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 30 Tage sind
|
||||
find /var/log -type f -name "*.log" -mtime +30 -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
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user