diff --git a/update.sh b/update.sh index f18b86c..54bfeb0 100755 --- a/update.sh +++ b/update.sh @@ -4,7 +4,8 @@ mkdir -p ~/.cache/updates ##*=============================================== ##* VARIABLE DECLARATION ##*=============================================== -WORK_PATH=~/.cache/updates # Currently the log files are stored here +readonly WORK_PATH=~/.cache/updates # Currently the log files are stored here +readonly NUM_DAYS_LOG=14 # Number of days after which old log files will be deleted # Function: logging # Purpose: Creates a log file for script output and manages log rotation @@ -62,16 +63,33 @@ function time_end() { # Return value: None function update_arch() { if command -v yay &> /dev/null; then - yay -Su - yay -Yc + if \ + yay -Su && \ + yay -Yc + then + echo "Alle System-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den System-Aktualisierungen aufgetreten." + fi elif command -v pamac &> /dev/null; then - sudo pamac update - sudo pamac upgrade + if \ + sudo pamac update && \ + sudo pamac upgrade + then + echo "Alle System-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den System-Aktualisierungen aufgetreten." + fi else - sudo pacman -Syu + if \ + sudo pacman -Syu && \ sudo pacman -Rcs "$(pacman -Qdtq)" + then + echo "Alle System-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den System-Aktualisierungen aufgetreten." + fi fi - echo "Alle Systemupdates wurden durchgeführt" } # Function: update_debian @@ -79,11 +97,15 @@ function update_arch() { # Parameters: None # Return value: None function update_debian() { - sudo apt-get update - sudo apt-get upgrade -y - sudo apt autoremove -y - sudo snap refresh - echo "Alle Systemupdates wurden durchgeführt" + if \ + sudo apt-get update && \ + sudo apt-get upgrade -y && \ + sudo apt autoremove -y + then + echo "Alle System-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den System-Aktualisierungen aufgetreten." + fi } # Function: update_fedora @@ -91,10 +113,15 @@ function update_debian() { # Parameters: None # Return value: None function update_fedora() { - sudo dnf check-update - sudo dnf update -y - sudo dnf autoremove -y - echo "Alle Systemupdates wurden durchgeführt" + if \ + sudo dnf check-update && \ + sudo dnf update -y && \ + sudo dnf autoremove -y + then + echo "Alle System-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den System-Aktualisierungen aufgetreten." + fi } # Function: update_opensuse @@ -102,9 +129,14 @@ function update_fedora() { # Parameters: None # Return value: None function update_opensuse() { - sudo zypper dup -d - sudo zypper dup - echo "Alle Systemupdates wurden durchgeführt" + if \ + sudo zypper dup -d && \ + sudo zypper dup + then + echo "Alle System-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den System-Aktualisierungen aufgetreten." + fi } # Function: update_gentoo @@ -112,10 +144,16 @@ function update_opensuse() { # Parameters: None # Return value: None function update_gentoo() { - sudo emerge --sync - sudo emerge -avuDN @world - sudo emerge --depclean - echo "Alle Systemupdates wurden durchgeführt" + if \ + sudo emerge --sync && \ + sudo emerge -avuDU @world && \ + sudo emerge --depclean && \ + sudo emerge -avuDN @world + then + echo "Alle System-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den System-Aktualisierungen aufgetreten." + fi } # Function: update_flatpak @@ -123,9 +161,14 @@ function update_gentoo() { # Parameters: None # Return value: None function update_flatpak() { - flatpak update - flatpak uninstall --unused - echo "Alle Flatpak Updates wurden durchgeführt" + if \ + flatpak update --noninteractive && \ + flatpak uninstall --unused --noninteractive + then + echo "Alle Flatpak Updates wurden erfolgreich durchgeführt." + else + echo "Ein Fehler ist bei den Flatpak-Aktualisierungen aufgetreten." + fi } # Function: update_snap @@ -133,8 +176,13 @@ function update_flatpak() { # Parameters: None # Return value: None function update_snap() { - sudo snap refresh - echo "Alle Snap Updates wurden durchgeführt" + if \ + sudo snap refresh + then + echo "Alle Snap-Aktualisierungen wurden durchgeführt." + else + echo "Ein Fehler ist bei den Snap-Aktualisierungen aufgetreten." + fi } # Function: cleanup_snap @@ -152,7 +200,7 @@ echo "Dieses Skript installiert Updates auf dem Computer" logging -sudo echo "Die Paketdatenbank wird aktualisiert. Das kann einen Moment dauern." +sudo echo "System wird ermittelt und Updates werden gestartet." time_start