Script zum überprüfen auf neue Updates
Die folgenden Perl-Skripte überprüfen unter Ubuntu oder openSuse Linux auf neue Updates und senden bei Verfügbarkeit von neuen Updates eine E-Mail an die definierte E-Mail-Adresse.
Um die Überprüfung jeden Tag um 08:00 Uhr anzustoßen, richten Sie den folgenden Cronjob ein:
0 8 * * * /<path>/check_updates.sh >> /dev/null 2>&1
Ubuntu
#!/usr/bin/perl
#
# settings
#
$mailfrom = "<sendername>\@domain.com";
$mailto = "<recipient>\@domain.com";
$subject = "Server: Updates available!";
#
# script
#
use FileHandle;
@check=`apt-get update`;
@check=`apt-get -s dist-upgrade`;
@warn = grep(/^0 updated,/, @check);
# german language pack installed
#@warn = grep(/^0 aktualisiert,/, @check);
if(scalar(@warn) == 0){
$mail = new FileHandle;
$mail->open("| /usr/sbin/sendmail -t") || die "Cannot open: $!";
$mail->print("From: $mailfrom\n");
$mail->print("To: $mailto\n");
$mail->print("Subject: $subject\n\n");
foreach (@check) {
$mail->print($_, "\n");
}
$mail->close();
}
openSuse
#!/usr/bin/perl
#
# settings
#
$mailfrom = "<sendername>\@domain.com";
$mailto = "<recipient>\@domain.com";
$subject = "Server: Updates available!";
#
# script
#
use FileHandle;
@check=`zypper refresh`;
@check=`zypper lp`;
@warn = grep(/^No updates found./, @check);
# german language pack installed
@warn = grep(/^Keine Aktualisierungen gefunden./, @check);
if(scalar(@warn) == 0){
$mail = new FileHandle;
$mail->open("| /usr/sbin/sendmail -t") || die "Cannot open: $!";
$mail->print("From: $mailfrom\n");
$mail->print("To: $mailto\n");
$mail->print("Subject: $subject\n\n");
foreach (@check) {
$mail->print($_, "\n");
}
$mail->close();
}