--- loncom/metadata_database/searchcat.pl 2003/06/25 14:42:00 1.35 +++ loncom/metadata_database/searchcat.pl 2003/08/08 12:38:00 1.37 @@ -2,7 +2,7 @@ # The LearningOnline Network # searchcat.pl "Search Catalog" batch script # -# $Id: searchcat.pl,v 1.35 2003/06/25 14:42:00 www Exp $ +# $Id: searchcat.pl,v 1.37 2003/08/08 12:38:00 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -76,6 +76,13 @@ use POSIX qw(strftime mktime); my @metalist; +$simplestatus=''; + +sub writesimple { + open(SMP,'>/home/httpd/html/lon-status/mysql.txt'); + print SMP $simplestatus."\n"; + close(SMP); +} # ----------------------------------------------------- Un-Escape Special Chars @@ -207,6 +214,7 @@ if ($wwwid!=$<) { open(LOG,'>'.$perlvar{'lonDaemons'}.'/logs/searchcat.log'); print LOG '==== Searchcat Run '.localtime()."====\n\n"; +$simplestatus='time='.time.'&'; my $dbh; # ------------------------------------- Make sure that database can be accessed { @@ -214,8 +222,11 @@ my $dbh; $dbh = DBI->connect("DBI:mysql:loncapa","www",$perlvar{'lonSqlAccess'},{ RaiseError =>0,PrintError=>0}) ) { print LOG "Cannot connect to database!\n"; + $simplestatus.='mysql=defunct'; + &writesimple(); exit; } + my $make_metadata_table = "CREATE TABLE IF NOT EXISTS metadata (". "title TEXT, author TEXT, subject TEXT, url TEXT, keywords TEXT, ". "version TEXT, notes TEXT, abstract TEXT, mime TEXT, language TEXT, ". @@ -305,13 +316,33 @@ foreach my $user (@homeusers) { # ... not yet implemented # ------------------------------------------- Copy over the new db-files - system('mv '.$prodir.'/nohist_new_resevaldata.db '. - $prodir.'/nohist_resevaldata.db'); + # + # Check the size of nohist_new_resevaldata.db compared to + # nohist_resevaldata.db + my @stat_result = stat($prodir.'/nohist_new_resevaldata.db'); + my $new_size = $stat_result[7]; + @stat_result = stat($prodir.'/nohist_resevaldata.db'); + my $old_size = $stat_result[7]; + if ($new_size/$old_size > 0.15 ) { + system('mv '.$prodir.'/nohist_new_resevaldata.db '. + $prodir.'/nohist_resevaldata.db'); + } else { + print LOG "Size of '$user' old nohist_reseval: $old_size ". + "Size of new: $new_size. Not overwriting.\n"; + my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}"; + my $subj="LON: $perlvar{'lonHostID'} searchcat.pl $user reseval ". + "modification error."; + system("echo ". + "'See /home/httpd/perl/logs/searchcat.txt for information.' ". + "| mailto $emailto -s '$subj' > /dev/null"); + } + } # --------------------------------------------------- Close database connection $dbh->disconnect; print LOG "\n==== Searchcat completed ".localtime()." ====\n"; close(LOG); +&writesimple(); exit 0;