53 lines
1.5 KiB
Bash
53 lines
1.5 KiB
Bash
sysupdate() {
|
|
set -u
|
|
|
|
local mode="${1:-normal}"
|
|
local apt_cmd
|
|
|
|
case "$mode" in
|
|
normal) apt_cmd="upgrade" ;;
|
|
full) apt_cmd="full-upgrade" ;;
|
|
*)
|
|
echo "Ungültiger Modus: $mode" >&2
|
|
echo "Verwendung: sysupdate [normal|full]" >&2
|
|
return 2
|
|
;;
|
|
esac
|
|
|
|
echo "=== Systemwartung gestartet ($mode) $(date --iso-8601=seconds) ==="
|
|
|
|
if ! {
|
|
apt-get update &&
|
|
apt-get "$apt_cmd" -y &&
|
|
apt-get autoremove --purge -y &&
|
|
apt-get autoclean -y
|
|
}; then
|
|
echo "APT-Wartung fehlgeschlagen" >&2
|
|
return 1
|
|
fi
|
|
|
|
if command -v flatpak >/dev/null 2>&1; then
|
|
flatpak update -y || echo "Flatpak-Update fehlgeschlagen" >&2
|
|
fi
|
|
|
|
if command -v snap >/dev/null 2>&1; then
|
|
snap refresh || echo "Snap-Refresh fehlgeschlagen" >&2
|
|
fi
|
|
|
|
if command -v fwupdmgr >/dev/null 2>&1; then
|
|
fwupdmgr refresh --force || echo "fwupd refresh fehlgeschlagen" >&2
|
|
fwupdmgr get-updates || echo "fwupd Abfrage fehlgeschlagen" >&2
|
|
fi
|
|
|
|
if command -v freshclam >/dev/null 2>&1; then
|
|
freshclam || echo "freshclam fehlgeschlagen" >&2
|
|
fi
|
|
|
|
journalctl --vacuum-time=30d || echo "Journal-Bereinigung fehlgeschlagen" >&2
|
|
|
|
if command -v needrestart >/dev/null 2>&1; then
|
|
needrestart || echo "needrestart meldet offenen Neustart oder Dienste-Neustart" >&2
|
|
fi
|
|
|
|
echo "=== Systemwartung abgeschlossen ($mode) $(date --iso-8601=seconds) ==="
|
|
} |