ASNMTAP
view release on metacpan or search on metacpan
applications/archive.pl view on Meta::CPAN
#!/usr/bin/env perl
# ---------------------------------------------------------------------------------------------------------
# © Copyright 2003-2011 Alex Peeters [alex.peeters@citap.be]
# ---------------------------------------------------------------------------------------------------------
# 2011/mm/dd, v3.002.003, archive.pl for ASNMTAP::Applications
# ---------------------------------------------------------------------------------------------------------
use strict;
use warnings; # Must be used in test mode only. This reduces a little process speed
#use diagnostics; # Must be used in test mode only. This reduces a lot of process speed
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BEGIN { if ( $ENV{ASNMTAP_PERL5LIB} ) { eval 'use lib ( "$ENV{ASNMTAP_PERL5LIB}" )'; } }
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
use DBI;
use Time::Local;
use Getopt::Long;
use Date::Calc qw(Date_to_Time Monday_of_Week);
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
use ASNMTAP::Time v3.002.003;
use ASNMTAP::Time qw(&get_epoch &get_wday &get_yearMonthDay &get_year &get_month &get_day &get_week);
use ASNMTAP::Asnmtap::Applications v3.002.003;
use ASNMTAP::Asnmtap::Applications qw(:APPLICATIONS :ARCHIVE :DBARCHIVE $SERVERTABLPLUGINS $SERVERTABLVIEWS $SERVERTABLDISPLAYDMNS $SERVERTABLCRONTABS $SERVERTABLCLLCTRDMNS $SERVERTABLSERVERS );
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
use vars qw($opt_A $opt_c $opt_r $opt_d $opt_y $opt_f $opt_D $opt_V $opt_h $PROGNAME);
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
$PROGNAME = "archive.pl";
my $prgtext = "Archiver for the '$APPLICATION'";
my $version = do { my @r = (q$Revision: 3.002.003$ =~ /\d+/g); sprintf "%d."."%03d" x $#r, @r }; # must be all on one line or MakeMaker will get confused.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
my $doCgisess = 1; # default
my $doReports = 1; # default
my $doDatabase = 0; # default
my $doYearsAgo = -1; # default
my $doForce = 0; # default
my $debug = 0; # default
#------------------------------------------------------------------------
# Don't edit below here unless you know what you are doing. -------------
#------------------------------------------------------------------------
my $archivelist;
my $gzipDaysAgo = 8; # GZIP files older then n date
my $gzipDebugDaysAgo = 3; # GZIP files older then n days ago
my $removeGzipDaysAgo = 31; # Remove files older then n days ago
my $removeAllNokDaysAgo = 8; # Remove files older then n days ago
my $removeDebugDaysAgo = 31; # Remove files older then n days ago
my $removeGzipWeeksAgo = 53; # Remove files older then n weeks ago
my $removeCgisessDaysAgo = 2; # Remove files older then n days ago
my $removeReportWeeksAgo = 53; # Remove files older then n weeks ago
my $gzipEpoch = get_epoch ('-'. $gzipDaysAgo .' days'); # GZIP files older then n date
my $gzipDebugEpoch = get_epoch ('-'. $gzipDebugDaysAgo .' days'); # GZIP files older then n date
my $removeAllNokEpoch = get_epoch ('-'. $removeAllNokDaysAgo .' days'); # Remove files older then n days ago
my $removeGzipEpoch = get_epoch ('-'. $removeGzipDaysAgo .' days'); # Remove files older then n days ago
my $removeDebugEpoch = get_epoch ('-'. $removeDebugDaysAgo .' days'); # Remove files older then n days ago
my $removeWeeksEpoch = get_epoch ('-'. $removeGzipWeeksAgo .' weeks'); # Remove files older then n weeks ago
my $removeCgisessEpoch = get_epoch ('-'. $removeCgisessDaysAgo .' days'); # Remove files older then n days ago
my $removeReportsEpoch = get_epoch ('-'. $removeReportWeeksAgo .' weeks'); # Remove files older then n weeks ago
my ( $week, $year ) = get_week('yesterday');
( run in 1.219 second using v1.01-cache-2.11-cpan-98e64b0badf )