#!/usr/bin/env perl ########################################################################### # # stat-monthly # # Author: Richard Jones # Created On: 25/02/2005 # # Copyright (c) 2002, Hewlett-Packard Company and Massachusetts # Institute of Technology. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are # met: # # - Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # - Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # - Neither the name of the Hewlett-Packard Company nor the name of the # Massachusetts Institute of Technology nor the names of their # contributors may be used to endorse or promote products derived from # this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT # HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE # USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. ########################################################################### ########################################################################### # This script generates a report from the first of the current month to the end # of the current month. This is not great, and will be superceded soon # # To customise for your own use change the $out_prefix, $out_suffix, # $dsrun and $out_directory variables below. # # If you wish to futher configure this script, you will need to edit the # command being executed, which appears near the bottom of the page, and is # commented with "# The command to generate the report" # # For more information on using the LogAnalyser, use: # # [dspace]/bin/dsrun org.dspace.app.statistics.LogAnalyser -help ########################################################################### use POSIX qw(floor); my $start; my $end; my $out; my $i; my $no_months; my $second; my $minute; my $hour; my $day; my $month; my $year; my $week_day; my $day_of_year; my $is_dst; my $out_prefix; my $out_suffix; # Get the all the values for current time ($second, $minute, $hour, $day, $month, $year, $week_day, $day_of_year, $is_dst) = localtime(time); # Details used ################################################ $out_prefix = "dspace-log-monthly-"; $out_suffix = ".dat"; $dsrun = "/dspace/bin/dsrun"; $out_directory = "/dspace/log/"; ################################################ $start_day = "01"; $this_year = $year + 1900; $this_month = $month + 1; if ($this_month == 1 || $this_month == 3 || $this_month == 5 || $this_month == 7 || $this_month == 8 || $this_month == 10 || $this_month == 12) { $end_day = "31"; } elsif ($this_month == 4 || $this_month == 6 || $this_month == 9 || $this_month == 11) { $end_day = "30"; } else { if (($year % 4) != 0) { $end_day = "28"; } else { $end_day = "29"; } } $start = $this_year . "-" . $this_month . "-" . $start_day; $end = $this_year . "-" . $this_month . "-" . $end_day; $out = $out_directory . $out_prefix . $this_year . "-" . $this_month . $out_suffix; # The command to generate the report $execute = "$dsrun org.dspace.app.statistics.LogAnalyser -start $start -end $end -out $out"; system($execute); exit(1);