/ /home/httpd/lonUsers my $dotransfer; if (-e '/etc/loncapa-release') { if (open(PIPE,"cat /etc/loncapa-release.prev |grep '^LON-CAPA release' |")) { if (<PIPE> =~ /^\QLON-CAPA release \E(CVS_HEAD|\d+\.\d+\.\d+\.?\w*)\-\d+$/) { my $previous = $1; unless ($previous eq 'CVS_HEAD') { my ($major,$minor) = ($previous =~ /^(\d+)\.(\d+)\./); if (($major ne '') && ($minor ne '')) { if ((($major == 2) && ($minor < 10)) | ($major < 2)) { $dotransfer = 1; } } } } close(PIPE); } } if ($dotransfer) { print "\nUpdating access count storage. This can take quite a while.\n"; my $logfile = '/tmp/accesscount_update_log.txt'; # get a list of all user directories print "Getting directory listing.\n"; my @dirs=`find -type d `; my @userdirs=grep(m|/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*|, @dirs); my $count = 0; my $countby = 100; print "Updating ".scalar(@userdirs)." files.\n"; my $char_count = 0; foreach my $udir (@userdirs) { if (++$count % $countby == 0) { print("\b" x $char_count); print($count."/".scalar(@userdirs)); $char_count = length($count."/".scalar(@userdirs)); } chomp($udir); my $file = $udir.'/nohist_resevaldata.db'; next if (! -e $file); next if (-e $udir.'/nohist_accesscount.db'); system('/home/httpd/perl/seed_accesscount.pl '.$file. ' 2>>'.$logfile); } print("\b" x $char_count); print($count."/".scalar(@userdirs)); print "\nCompleted!\n"; } else { print("No update of nohist_accesscount.db files needed.\n"); }