APT-Mailer

Script um regelmäßig (per CRON) auf nach neuen Updates sucht und ggf. eine eMail generiert um den Admin zu informieren

#! /bin/bash
function lread {
    touch /var/cache/apt/apt-mailer.log
    /usr/bin/apt-get -s upgrade | grep "^Inst" | while read xx apt line
    do
        if [ `grep -F -c "$apt $line" /var/cache/apt/apt-mailer.log` -eq 0 ]
        then
            echo "$apt $line">> /var/cache/apt/apt-mailer.log
            echo "$apt $line"
        fi
    done
}
function mailtext {
    xline="-----------------------------------------------------------------------"
    echo    "From: [ABSENDER]"
    echo    "To: [EMPFÄNGER]"
    echo    "Subject: [`date +'%d.%m.%Y %H:%M'`] Serverinfos - Debian-Updates [`cat /etc/debian_version`]"
    echo    ""
    echo -e "Fuer folgende Pakete existieren Updates :\n$xline\n$1\n$xline"
}
 
/usr/bin/aptitude update                >/dev/null 2>/dev/null
/usr/bin/aptitude autoclean             >/dev/null 2>/dev/null
 
updates=`lread`
if [ "$updates" != "" ];then
    mailtext "$updates" | msmtp -d [EMPFÄNGER]>/dev/null 2>/dev/null
    echo "eMail : `date +'%d.%m.%Y %H:%M'`"
fi