#!/bin/bash
# ***************************************************************************
# * UPGRADES CRONScript                                  Ben Makkink 26/01/2025 *
# * De Ubuntu server voert security upgrades automatisch uit                *
# * De reguliere updates wordt bij voorkeur op de hand gedaan, om           *
# * te voorkomen dat mogelijke bugs de werking verstoren. Voordat de upgrade*
# * uitgevoerd wordt kan er eerst een systeem backup gemaakt worden zodat   *
# * zonodig de upgrade ongedaan gemaakt kan worden                          *
# ***************************************************************************
EMAIL_MSG="Upgrades beschikbaar";
EMAIL_FROM="thuisserver@makkink.eu";
EMAIL_TO="ben@makkink.eu";

# Haal de lijst met upgrades op. apt-check resulteerd in 2 getallen. Het
# eerste getal zijn de reguliere upgrades en het getal na de ';' geeft het
# aantal security upgrades. De laatste  is normaal dus altijd 0
read upd < <(/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 1)
# echo $upd;

# Als er meer dan 25 upgrades klaarstaan wordt er een notificatie mail
# naar  Admin verstuurd.
if [ $upd -gt 25 ]; then
	#compose content e-mail message
	body=$'\n'${EMAIL_MSG}$'\n'"===================="$'\n';
	body+=$'\n'"Er staan "$upd" upgrades klaar.";
	body+=$'\n'"Dit zijn de op de hand uit te voeren upgrades van geïnstalleerde packages en dependencies.";
	body+=$'\n'"(Security upgrades worden automatisch uitgevoerd door Expanded Security Maintenance).";
	body+=$'\n'$'\n'"Procedure";
	body+=$'\n'"=========";
	body+=$'\n'"- Maak eerst een OS systeembackup:"
	body+=$'\n'"  # Utils > Backup-, Restore- en Onderhoudsprogramma's > OS-systeem backup";
	body+=$'\n'$'\n'"- Ververs de repositories met commando #: apt update";
	body+=$'\n'$'\n'"- Haal lijst met beschikbare upgrades met commando #: apt list --upgradable";
	body+=$'\n'$'\n'"- Voer alle upgrades uit met commando #: apt upgrade";
	body+=$'\n'"  Voor alleen package <pakketnaam> #: apt upgrade <pakketnaam>";
	body+=$'\n'$'\n'"- Reboot server";
	body+=$'\n'$'\n'"Admin Thuisserver";

	#Send e-mail message
        echo "$body"|mail -s "Thuisserver Upgrades beschikbaar" -r "${EMAIL_FROM}" "${EMAIL_TO}";
fi
