diff --git a/apt-update.sh b/apt-update.sh index 181f2a7..7cac59a 100755 --- a/apt-update.sh +++ b/apt-update.sh @@ -56,65 +56,4 @@ fi apt-get -y -o DPkg::Lock::Timeout="${APT_LOCK_TIMEOUT}" autoremove apt-get -qq clean -log "Upgrade succesvol voltooid." -root@dt27:~# bash test.sh -[2026-03-04 09:17:10] Geen updates -root@dt27:~# cat test.sh -#!/usr/bin/env bash -# -# Automatische veilige package-upgrade voor Debian/Ubuntu -# - Draait stil als er geen updates zijn (geschikt voor cron) -# - Toont output alleen bij echte upgrades -# - Robuuste foutafhandeling -# - -set -euo pipefail - -# Veilige cron-omgeving -PATH=/usr/sbin:/usr/bin:/sbin:/bin -export DEBIAN_FRONTEND=noninteractive - -log() { - printf "[%s] %s\n" "$(date '+%Y-%m-%d %H:%M:%S')" "$*" -} - -# ---- Lock timeout configuratie ---- -APT_LOCK_TIMEOUT=60 - -# ---- Update package index ---- -if ! apt-get -qq -o DPkg::Lock::Timeout="${APT_LOCK_TIMEOUT}" update; then - log "FOUT: apt-get update mislukt." - exit 1 -fi - -# ---- Detecteer beschikbare upgrades (robuste parsing) ---- -readarray -t packages < <( - apt-get -s upgrade \ - -o DPkg::Lock::Timeout="${APT_LOCK_TIMEOUT}" \ - | awk '/^Inst / {print $2}' -) - -# ---- Stop als er geen upgrades zijn ---- -if [ "${#packages[@]}" -eq 0 ]; then - exit 0 -fi - -log "De volgende pakketten worden bijgewerkt:" -printf ' - %s\n' "${packages[@]}" -log "=======================================" - -# ---- Voer upgrade uit ---- -if ! apt-get -y \ - -o DPkg::Lock::Timeout="${APT_LOCK_TIMEOUT}" \ - -o DPkg::options::="--force-confdef" \ - -o DPkg::options::="--force-confold" \ - upgrade; then - log "FOUT: upgrade mislukt." - exit 1 -fi - -# ---- Opruimen ---- -apt-get -y -o DPkg::Lock::Timeout="${APT_LOCK_TIMEOUT}" autoremove -apt-get -qq clean - log "Upgrade succesvol voltooid." \ No newline at end of file