script_stats($runtime, $start); #### #!/usr/bin/perl use warnings; use strict; use DBD::mysql; package ScriptUpdate; our @ISA = qw(Exporter); our @EXPORT = qw(script_stats); # symbols to be exported by default (space-separated) our $VERSION = 1.10; sub script_stats { my ($runtime, $rundate) = @_; chomp(my $filename = $0); chomp(my $currentuser=`whoami`); #Holds modified date for file my $mtime = stat($filename)->mtime; my $dbh = DBI->connect("DBI:mysql:database=ts_tool_track:host=xxxx",'xxxx','xxxx') || die "$DBI::errstr\n"; my $sql = "SELECT ID, Name FROM ScriptDetails WHERE Name='$filename'"; my $sth = $dbh->prepare ( $sql ); $sth->execute(); my @row = $sth->fetchrow_array(); if (exists $row[1] and $row[1] eq $filename) { #If run before \ exists update fields { my $sql = "UPDATE ScriptDetails SET LastModified=from_unixtime($mtime),LastRunTime='$runtime',LastRunDate=from_unixtime($rundate),LastRunBy='$currentuser', AvgRunTime = ((AvgRunTime + $runtime) / 2), TotalRuns = TotalRuns+1 WHERE ID='$row[0]' LIMIT 1"; my $sth = $dbh->prepare ( $sql ); $sth->execute(); } } else { #If first time run, create entry { my $sql = "INSERT INTO ScriptDetails (Name, LastModified, LastRunTime, LastRunDate, LastRunBy, AvgRunTime, TotalRuns) VALUES('$filename',from_unixtime($mtime),'$runtime',from_unixtime($rundate/1000),'$currentuser', '$runtime', '1')"; my $sth = $dbh->prepare ( $sql ); $sth->execute(); } } $sth->finish(); $dbh->disconnect(); } 1;