mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-07 01:54:22 +00:00

git-svn-id: http://scm.dspace.org/svn/repo/trunk@1190 9c30dcfa-912a-0410-8fc2-9e0234be79fd
137 lines
4.9 KiB
Perl
137 lines
4.9 KiB
Perl
#!/usr/bin/env perl
|
|
|
|
###########################################################################
|
|
#
|
|
# stat-report-initial
|
|
#
|
|
# Author: Richard Jones
|
|
# Created On: 28/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 starts from the year and month specified below and works
|
|
# forward until the end of the current month, generating monthly reports
|
|
# from the dstat aggregation files.
|
|
#
|
|
# To customise for your own use change the $in_prefix, $in_suffix, $out_prefix,
|
|
# $out_suffix, $start_year, $start_month, $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 ReportGenerator, use:
|
|
#
|
|
# [dspace]/bin/dsrun org.dspace.app.statistics.ReportGenerator -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;
|
|
|
|
# Details used
|
|
################################################
|
|
|
|
$in_prefix = "dspace-log-monthly-";
|
|
$in_suffix = ".dat";
|
|
$out_prefix = "report-";
|
|
$out_suffix = ".html";
|
|
$start_year = "2004";
|
|
$start_month = "5";
|
|
$dsrun = "/dspace/bin/dsrun";
|
|
$in_directory = "/dspace/log/";
|
|
$out_directory = "/dspace/reports/";
|
|
|
|
################################################
|
|
|
|
# Get the all the values for current time
|
|
($second, $minute, $hour, $day, $month, $year, $week_day, $day_of_year, $is_dst) = localtime(time);
|
|
|
|
# set up the variables to use in the loop
|
|
|
|
# number of years after the current year (will mostly be negative)
|
|
# <current year> = (<perl year> + 1900)
|
|
# <start year offset> = <start year> - <current year>
|
|
$year_offset = $start_year - ($year + 1900);
|
|
|
|
# total number of months between now and the start date (negated to be positive in general)
|
|
# <months in year offset> = |<start year offset>| * 12
|
|
# <difference in current year months> = (<current perl month> + 1) - <start month>
|
|
# <total number of months> = <months in year offset> + <difference in current year months>
|
|
# we use -1 to make <start year offset> positive since it should always be negative
|
|
$no_months = (-1 * ($year_offset * 12)) + (($month + 1) - $start_month);
|
|
|
|
# start day of every month
|
|
$start_day = "01";
|
|
|
|
# for every month ...
|
|
for ($i = 0; $i < $no_months; $i++)
|
|
{
|
|
# the month of the year (horrid modular maths)
|
|
$this_month = (($start_month + $i - 1) % 12) + 1;
|
|
|
|
# number of years gone through since we started the loop
|
|
$year_count = floor(($i + $start_month - 1) / 12);
|
|
|
|
# the year of the current analysis period
|
|
$this_year = $year + $year_offset + $year_count + 1900;
|
|
|
|
# input and output file paths
|
|
$in = $in_directory . $in_prefix . $this_year . "-" . $this_month . $in_suffix;
|
|
$out = $out_directory . $out_prefix . $this_year . "-" . $this_month . $out_suffix;
|
|
|
|
# The command to generate the report
|
|
$execute = "$dsrun org.dspace.app.statistics.ReportGenerator -format html -in $in -out $out";
|
|
|
|
system($execute);
|
|
}
|
|
|
|
exit(1); |