Validiert mit Ubuntu 22.04.2 LTS
Je nach installierten Paketen kann es notwendig sein, upgrade anstelle von dist-upgrade zu verwenden. In diesem Fall muß das versandte Log auf Warnungen über zurückgehaltene Pakete geprüft werden. Diese müssen dann nachinstalliert werden. Bei LAMP funktioniert dist-upgrade üblicherweise problemlos.
Voraussetzungen:
- Kenntnis annehmender SMTP-Server
Ablauf
- Benötigte Pakete installieren
apt-get install cron ssmtp -y
- /etc/ssmtp/ssmtp.conf editieren
root=postmaster
mailhub=smtp.sld.tld
hostname=host.sld.tld
FromLineOverride=YES
- Datei /root/autoupdate.sh erstellen
#!/bin/bash
host="host.sld.tld"
recipient="
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein. "LOG="/var/log/apt/$(date +%Y%m%d_%H%M%S).log"
date > $LOG
echo "" >> $LOG
/usr/bin/apt-get update -q -y >> $LOG
echo "" >> $LOG
echo "upgrading..." >> $LOG
/usr/bin/apt-get dist-upgrade -q -y >> $LOG
echo "" >> $LOG
/usr/bin/apt-get autoremove -q -y >> $LOG
echo "" >> $LOG
if test -f /var/run/reboot-required; then >> $LOG
echo "REBOOT REQUIRED!" >> $LOG
else
echo "FINISHED!" >> $LOG
fi
echo "From: cron@$host" > /var/tmp/autoupdate.mail
echo "To: $recipient" >> /var/tmp/autoupdate.mail
echo "Subject: update run @$host" >> /var/tmp/autoupdate.mail
echo "" >> /var/tmp/autoupdate.mail
cat $LOG >> /var/tmp/autoupdate.mail
cat /var/tmp/autoupdate.mail | /usr/sbin/ssmtp -v $recipient
if test -f /var/run/reboot-required; then
reboot
fi
- Neustartverhalten Daemons anpassen in /etc/needrestart/needrestart.conf
#$nrconf{restart} = 'i';
=>$nrconf{restart} = 'a';
crontab -e
- Zeile anfügen
0 22 * * 5 /root/autoupdate.sh > /dev/null