File:  [LON-CAPA] / loncom / misc / archive_old_files.pl
Revision 1.3: download - view: text, annotated - select for diffs
Thu May 18 02:17:30 2006 UTC (17 years, 11 months ago) by www
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, loncapaMITrelate_1, bz6209-base, bz6209, bz5969, bz2851, PRINT_INCOMPLETE_base, PRINT_INCOMPLETE, HEAD, GCI_3, GCI_2, GCI_1, BZ5971-printing-apage, BZ5434-fox
Saving my work: new locking and zipping/unzipping mechanism

    1: #!/usr/bin/perl
    2: # The LearningOnline Network
    3: # zip all .db and .hist files that have not been accessed in 120 days
    4: #
    5: # $Id: archive_old_files.pl,v 1.3 2006/05/18 02:17:30 www Exp $
    6: #
    7: # Copyright Michigan State University Board of Trustees
    8: #
    9: # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
   10: #
   11: # LON-CAPA is free software; you can redistribute it and/or modify
   12: # it under the terms of the GNU General Public License as published by
   13: # the Free Software Foundation; either version 2 of the License, or
   14: # (at your option) any later version.
   15: #
   16: # LON-CAPA is distributed in the hope that it will be useful,
   17: # but WITHOUT ANY WARRANTY; without even the implied warranty of
   18: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   19: # GNU General Public License for more details.
   20: #
   21: # You should have received a copy of the GNU General Public License
   22: # along with LON-CAPA; if not, write to the Free Software
   23: # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   24: #
   25: # /home/httpd/html/adm/gpl.txt
   26: #
   27: # http://www.lon-capa.org/
   28: #
   29: #################################################
   30: use Fcntl qw(:flock);
   31: 
   32: my $oldfile="/home/httpd/perl/tmp/old_files.lst";
   33: system ("find /home/httpd/lonUsers/ -name *.db -atime +120 > $oldfile");
   34: 
   35: open(IN,$oldfile);
   36: while (my $dbfile=<IN>) {
   37:     chomp($dbfile);
   38:     my $sym;
   39:     open($sym,">>$dbfile.lock");
   40:     unless (flock($sym,(LOCK_EX|LOCK_NB))) {
   41:        close($sym);
   42:        next;
   43:     }
   44:     system("gzip $dbfile");
   45:     my $histfile=$dbfile;
   46:     $histfile=~s/\.db$/\.hist/;
   47:     if (-e $histfile) {
   48: 	system("gzip $histfile");
   49:     }
   50:     flock($sym,LOCK_UN);
   51:     close($sym);
   52: }
   53: close(IN);
   54: unlink($oldfile);

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