#!/usr/bin/perl -w # # The LearningOnline Network with CAPA # # $Id: CHECKRPMS.suse,v 1.1 2005/04/13 18:56:46 albertel Exp $ # # Copyright Michigan State University Board of Trustees # # This file is part of the LearningOnline Network with CAPA (LON-CAPA). # # LON-CAPA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # LON-CAPA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with LON-CAPA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # /home/httpd/html/adm/gpl.txt # # http://www.lon-capa.org/ # # (Navigate problems for statistical reports # =pod =head1 NAME B - automated status report about RPMs on a system, Yum version. =head1 DESCRIPTION This file automates the usage of yum to check for available updates to Fedora systems. Must be run as root or www. =cut use strict; use lib '/home/httpd/lib/perl/'; use LONCAPA::Configuration; my $you = '/usr/bin/online_update'; my $tmpfile = '/tmp/CHECKRPMS.'.$$; # # Determine who we email my %perlvar=%{LONCAPA::Configuration::read_conf('loncapa.conf')}; my $emailto = "$perlvar{'lonAdmEMail'}"; my $subj=$perlvar{'lonHostID'}; undef(%perlvar); # # Put some nice text in $tmpfile my $hostname = `hostname`; chomp($hostname); open(TMPFILE,">$tmpfile"); print TMPFILE localtime(time).' '.$hostname."\n"; print TMPFILE <>'.$tmpfile; system($command); my $returnvalue = $?>>8; # # Determine status of yum run if (100 == $returnvalue) { $subj.= ' RPMS to upgrade'; # Send email system(qq{mail -s '$subj' $emailto < $tmpfile}); } elsif (0 != $returnvalue) { # Send email $subj.= ' Error running RPM update script'; system(qq{mail -s '$subj' $emailto < $tmpfile}); } else { # you returned 0, so everything is up to date. }