[BACK]Return to log.pm CVS log [TXT][DIR] Up to [local] / wpscripts / ztransfer

File: [local] / wpscripts / ztransfer / log.pm (download)

Revision 1.2, Wed Jul 20 07:44:51 2011 UTC (12 years, 8 months ago) by yason
Branch: MAIN
Changes since 1.1: +12 -12 lines

change paths, IPs. remove unneeded chunks

#!/usr/bin/perl
# $Id: log.pm,v 1.2 2011/07/20 07:44:51 yason Exp $
package log;

my $DEBUG = 1;

my $MAIN_LOG = "/var/log/wpscripts/ztransfer/main.log";
my $ERROR_LOG = "/var/log/wpscripts/ztransfer/error.log";
my $ZAYAVKI_LOG = "/var/log/wpscripts/ztransfer/zayavki.log";
my $JPEGS_LOG = "/var/log/wpscripts/ztransfer/jpegs.log";
my $PROBAS_LOG = "/var/log/wpscripts/ztransfer/probas.log";
my $TPPS_LOG = "/var/log/wpscripts/ztransfer/tpps.log";
my $CRITICAL_LOG = "/var/log/wpscripts/ztransfer/critical.log";
my $FILE_LIST = "/var/log/wpscripts/ztransfer/FILES";
my $DIFFS_FILE = "/var/log/wpscripts/ztransfer/size_diffs.log";
my $CURRENT_FILE = "/var/log/wpscripts/ztransfer/FILE";
my $CURRENT_ACTION = "/var/log/wpscripts/ztransfer/ACTION";


# functions
sub error($)
{
    open(FILE, ">>$ERROR_LOG") or return();
    $_ = shift();
    print FILE scalar( localtime() ) . "| $_\n";
    print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
    close(FILE);
}


sub main($)
{
    open(FILE, ">>$MAIN_LOG") or return();
    $_ = shift();
    print FILE scalar( localtime() ) . "| $_\n";
    print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
    close(FILE);
}


sub zayavki($)
{
    open(FILE, ">>$ZAYAVKI_LOG") or return();
    $_ = shift();
    print FILE scalar( localtime() ) . "| $_\n";
    print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
    close(FILE);
}


sub jpegs($)
{
    open(FILE, ">>$JPEGS_LOG") or return();
    $_ = shift();
    print FILE scalar( localtime() ) . "| $_\n";
    print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
    close(FILE);
}

sub tpps($)
{
    open(FILE, ">>$TPPS_LOG") or return();
    $_ = shift();
    print FILE scalar( localtime() ) . "| $_\n";
    print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
    close(FILE);
}


sub probas($)
{
    open(FILE, ">>$PROBAS_LOG") or return();
    $_ = shift();
    print FILE scalar( localtime() ) . "| $_\n";
    print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
    close(FILE);
}


sub critical($)
{
    if( open(FILE, ">>$CRITICAL_LOG") )
    {
	$_ = shift();
	print FILE scalar( localtime() ) . "| $_\n";
	close(FILE);
	print STDOUT scalar( localtime() ) . "| $_\n" if($DEBUG);
    }
    exit(-1);	# exit program with -1 on *critical* error
}


sub filelist($)
{
    my $files_ref = shift;
    my @files = @$files_ref;
    
    open(FILE, ">$FILE_LIST") or return();
    foreach  $_ (@files)
    {
	print FILE "$_\n";
    }
    close(FILE);
}


sub diff($$$)
{
    my $path = shift;
    my $size_orig = shift;
    my $size_arc = shift;
    my $diff = $size_orig / $size_arc;

    # in human-readable format
    # we don't suppose gigabyte archives
    $size_orig = ($size_orig > 1048576 ? int($size_orig / 1024 / 1024) . " MB" : int($size_orig / 1024) . " KB");
    $size_arc = ($size_arc > 1048576 ? int($size_arc / 1024 / 1024) . " MB" : int($size_arc / 1024) . " KB");

    open(FILE, ">>$DIFFS_FILE") or return();
    print FILE scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n";
    print STDOUT scalar( localtime() ) . "| $path - original=$size_orig, compressed=$size_arc [diff=$diff]\n" if($DEBUG);
    close(FILE);

}


sub file_work_on($$)
{
    my $file = shift;
    my $action = shift;
    
    open(FILE, ">$CURRENT_FILE") or return();
	print FILE $file;
    close(FILE);
    
    open(ACT, ">$CURRENT_ACTION") or return();
	print ACT $action;
    close(ACT);

}


sub file_work_done()
{
    # consider this stuff okay, as usually ;-)
    #  but in future maybe not to call anything external?
    system("/bin/rm $CURRENT_FILE") if(-e $CURRENT_FILE);
    system("/bin/rm $CURRENT_ACTION") if(-e $CURRENT_ACTION);
}


sub stdout($)
{
    my $message = shift;
    print "STDOUT: $message\n";
}


return(1);