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=postmastermailhub=smtp.sld.tldhostname=host.sld.tldFromLineOverride=YES - Datei /root/autoupdate.sh erstellen
#!/bin/bashhost="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 > $LOGecho "" >> $LOG/usr/bin/apt-get update -q -y >> $LOGecho "" >> $LOGecho "upgrading..." >> $LOG/usr/bin/apt-get dist-upgrade -q -y >> $LOGecho "" >> $LOG/usr/bin/apt-get autoremove -q -y >> $LOGecho "" >> $LOGif test -f /var/run/reboot-required; then >> $LOGecho "REBOOT REQUIRED!" >> $LOGelseecho "FINISHED!" >> $LOGfiecho "From: cron@$host" > /var/tmp/autoupdate.mailecho "To: $recipient" >> /var/tmp/autoupdate.mailecho "Subject: update run @$host" >> /var/tmp/autoupdate.mailecho "" >> /var/tmp/autoupdate.mailcat $LOG >> /var/tmp/autoupdate.mailcat /var/tmp/autoupdate.mail | /usr/sbin/ssmtp -v $recipientif test -f /var/run/reboot-required; thenrebootfi - 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