Annotation of doc/loncapafiles/accesscount_seed.piml, revision 1.8

1.1       matthew     1: <!DOCTYPE piml PUBLIC "-//TUX/DTD piml 1.0 Final//EN" 
                      2: 	"http://lpml.sourceforge.net/DTD/piml.dtd">
                      3: <!-- accesscount_seed.piml -->
                      4: <!-- Matthew Hall -->
                      5: 
1.8     ! raeburn     6: <!-- $Id: accesscount_seed.piml,v 1.7 2006/01/31 10:33:51 albertel Exp $ -->
1.1       matthew     7: 
                      8: <!--
                      9: 
                     10: This file is part of the LearningOnline Network with CAPA (LON-CAPA).
                     11: 
                     12: LON-CAPA is free software; you can redistribute it and/or modify
                     13: it under the terms of the GNU General Public License as published by
                     14: the Free Software Foundation; either version 2 of the License, or
                     15: (at your option) any later version.
                     16: 
                     17: LON-CAPA is distributed in the hope that it will be useful,
                     18: but WITHOUT ANY WARRANTY; without even the implied warranty of
                     19: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     20: GNU General Public License for more details.
                     21: 
                     22: You should have received a copy of the GNU General Public License
                     23: along with LON-CAPA; if not, write to the Free Software
                     24: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
                     25: 
                     26: /home/httpd/html/adm/gpl.txt
                     27: 
                     28: http://www.lon-capa.org/
                     29: 
                     30: -->
                     31: 
                     32: <piml>
                     33: <targetroot>/</targetroot>
                     34: <files>
                     35: <file>
                     36: <target dist="default">/home/httpd/lonUsers</target>
                     37: <perlscript mode="fg">
                     38: 
1.8     ! raeburn    39: my $dotransfer;
        !            40: if (-e '/etc/loncapa-release') {
        !            41:     if (open(PIPE,"cat /etc/loncapa-release.prev |grep '^LON-CAPA release' |")) {
        !            42:         if (&lt;PIPE&gt; =~ /^\QLON-CAPA release \E(CVS_HEAD|\d+\.\d+\.\d+\.?\w*)\-\d+$/) {
        !            43:             my $previous = $1;
        !            44:             unless ($previous eq 'CVS_HEAD') {
        !            45:                 my ($major,$minor) = ($previous =~ /^(\d+)\.(\d+)\./);
        !            46:                 if (($major ne '') && ($minor ne '')) {
        !            47:                     if ((($major == 2) && ($minor &lt; 10)) | ($major &lt; 2)) {
        !            48:                         $dotransfer = 1;
        !            49:                     }
        !            50:                 }
        !            51:             }
        !            52:         }
        !            53:         close(PIPE);
        !            54:     }
        !            55: }
        !            56: 
        !            57: if ($dotransfer) {
        !            58:     print "\nUpdating access count storage.  This can take quite a while.\n";
1.1       matthew    59: 
1.8     ! raeburn    60:     my $logfile = '/tmp/accesscount_update_log.txt';
1.1       matthew    61: 
1.8     ! raeburn    62:     # get a list of all user directories
        !            63:     print "Getting directory listing.\n";
        !            64:     my @dirs=`find <TARGET /> -type d `;
        !            65:     my @userdirs=grep(m|/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*/[^/]*|, @dirs);
        !            66: 
        !            67:     my $count = 0;
        !            68:     my $countby = 100;
        !            69:     print "Updating ".scalar(@userdirs)." files.\n";
        !            70:     my $char_count = 0;
        !            71:     foreach my $udir (@userdirs) {
        !            72:         if (++$count % $countby == 0) {
        !            73: 	    print("\b" x $char_count);
        !            74:             print($count."/".scalar(@userdirs));
        !            75:             $char_count = length($count."/".scalar(@userdirs));
        !            76:         }
        !            77:         chomp($udir);
        !            78:         my $file = $udir.'/nohist_resevaldata.db';
        !            79:         next if (! -e $file);
        !            80:         next if (-e $udir.'/nohist_accesscount.db');
        !            81:         system('/home/httpd/perl/seed_accesscount.pl '.$file.
        !            82:                ' 2>>'.$logfile);
1.1       matthew    83:     }
1.8     ! raeburn    84:     print("\b" x $char_count);
        !            85:     print($count."/".scalar(@userdirs));
        !            86:     print "\nCompleted!\n";
        !            87: } else {
        !            88:     print("No update of nohist_accesscount.db files needed.\n");
1.1       matthew    89: }
                     90: </perlscript>
                     91: </file>
                     92: </files>
                     93: </piml>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>