starttls
This commit is contained in:
285
LoadCSVData.pl
285
LoadCSVData.pl
@@ -24,7 +24,10 @@ my ( @CSVData, @sql );
|
|||||||
my $outcount = 0;
|
my $outcount = 0;
|
||||||
my $outfilenum = 0;
|
my $outfilenum = 0;
|
||||||
my $maxsqllines = 10000;
|
my $maxsqllines = 10000;
|
||||||
my ($tool, $toolbatt, $tooltemp, $tooltype, @channels,@NewData, @ain, @din, @nodetype, $GDEventDate);
|
my (
|
||||||
|
$tool, $toolbatt, $tooltemp, $tooltype, @channels,
|
||||||
|
@NewData, @ain, @din, @nodetype, $GDEventDate
|
||||||
|
);
|
||||||
my $matlab_ip = "160.78.21.71";
|
my $matlab_ip = "160.78.21.71";
|
||||||
my $matlab_cmd = "matlab.cmd";
|
my $matlab_cmd = "matlab.cmd";
|
||||||
my $matlab_timestamp = "";
|
my $matlab_timestamp = "";
|
||||||
@@ -42,12 +45,13 @@ my $matlab_rt = "/usr/local/MATLAB/MATLAB_Runtime/v93";
|
|||||||
my $matlab_func_dir = "/usr/local/matlab_func/";
|
my $matlab_func_dir = "/usr/local/matlab_func/";
|
||||||
my $matlab_error = '';
|
my $matlab_error = '';
|
||||||
my $matlab_timeout = '1800';
|
my $matlab_timeout = '1800';
|
||||||
my $email_addr = 'andrea.carri@aseltd.eu,edoardo.cavalca@aseltd.eu,alessandro.battilani@gmail.com,alessandro.valletta@aseltd.eu';
|
my $email_addr =
|
||||||
|
'andrea.carri@aseltd.eu,edoardo.cavalca@aseltd.eu,alessandro.battilani@gmail.com,alessandro.valletta@aseltd.eu';
|
||||||
my ( $email_msg, $email_obj );
|
my ( $email_msg, $email_obj );
|
||||||
my $G201_fcheck = 0;
|
my $G201_fcheck = 0;
|
||||||
|
|
||||||
|
sub getTimeStamp
|
||||||
sub getTimeStamp{ # parm [ts] => timestamp for filename; log => timestamp for log
|
{ # parm [ts] => timestamp for filename; log => timestamp for log
|
||||||
my $format = "%04d%02d%02d%02d%02d%02d";
|
my $format = "%04d%02d%02d%02d%02d%02d";
|
||||||
my ($p1) = @_;
|
my ($p1) = @_;
|
||||||
if ( defined $p1 and $p1 eq "log" ) {
|
if ( defined $p1 and $p1 eq "log" ) {
|
||||||
@@ -56,29 +60,42 @@ sub getTimeStamp{ # parm [ts] => timestamp for filename; log => timestamp for
|
|||||||
if ( defined $p1 and $p1 eq "db_ts" ) {
|
if ( defined $p1 and $p1 eq "db_ts" ) {
|
||||||
$format = "%04d-%02d-%02d %02d:%02d:%02d";
|
$format = "%04d-%02d-%02d %02d:%02d:%02d";
|
||||||
}
|
}
|
||||||
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =localtime(time);
|
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
|
||||||
my $timestamp =sprintf( $format, $year + 1900, $mon + 1, $mday, $hour, $min, $sec );
|
localtime(time);
|
||||||
|
my $timestamp =
|
||||||
|
sprintf( $format, $year + 1900, $mon + 1, $mday, $hour, $min, $sec );
|
||||||
return $timestamp;
|
return $timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub writeOutSql {
|
sub writeOutSql {
|
||||||
my ($tn) = @_;
|
my ($tn) = @_;
|
||||||
my $outfile = $sqlout . "_" . $outfilenum++;
|
my $outfile = $sqlout . "_" . $outfilenum++;
|
||||||
open SQLOUT, ">", $outfile
|
open SQLOUT, ">", $outfile
|
||||||
or die( getTimeStamp("log"). " - pid $$ >> Error: opening output file ". $outfile. ":$!\n" );
|
or die( getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Error: opening output file "
|
||||||
|
. $outfile
|
||||||
|
. ":$!\n" );
|
||||||
print getTimeStamp("log") . " - pid $$ >> file $outfile created\n";
|
print getTimeStamp("log") . " - pid $$ >> file $outfile created\n";
|
||||||
print SQLOUT "/* lock ". $db_name. ".$table table */\nLOCK TABLES ". $db_name. ".$table WRITE;\n";
|
print SQLOUT "/* lock "
|
||||||
|
. $db_name
|
||||||
|
. ".$table table */\nLOCK TABLES "
|
||||||
|
. $db_name
|
||||||
|
. ".$table WRITE;\n";
|
||||||
print SQLOUT "INSERT IGNORE INTO " . $db_name . ".$table\n";
|
print SQLOUT "INSERT IGNORE INTO " . $db_name . ".$table\n";
|
||||||
print SQLOUT "(`UnitName`,`ToolNameID`,`NodeNum`,`EventDate`,`EventTime`,`BatLevel`,`Temperature`,\n";
|
print SQLOUT
|
||||||
print SQLOUT "`Val0`,`Val1`,`Val2`,`Val3`,`Val4`,`Val5`,`Val6`,`Val7`,`Val8`,`Val9`,`ValA`,`ValB`,`ValC`,`ValD`,`ValE`,`ValF`)\n";
|
"(`UnitName`,`ToolNameID`,`NodeNum`,`EventDate`,`EventTime`,`BatLevel`,`Temperature`,\n";
|
||||||
|
print SQLOUT
|
||||||
|
"`Val0`,`Val1`,`Val2`,`Val3`,`Val4`,`Val5`,`Val6`,`Val7`,`Val8`,`Val9`,`ValA`,`ValB`,`ValC`,`ValD`,`ValE`,`ValF`)\n";
|
||||||
print SQLOUT "VALUES\n";
|
print SQLOUT "VALUES\n";
|
||||||
print SQLOUT @sql;
|
print SQLOUT @sql;
|
||||||
@sql = ();
|
@sql = ();
|
||||||
print SQLOUT "/* unlock table */\nUNLOCK TABLES;\n";
|
print SQLOUT "/* unlock table */\nUNLOCK TABLES;\n";
|
||||||
|
|
||||||
close SQLOUT
|
close SQLOUT
|
||||||
or die( getTimeStamp("log"). " - pid $$ >> Error in closing file ". $outfile. "\n" );
|
or die( getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Error in closing file "
|
||||||
|
. $outfile
|
||||||
|
. "\n" );
|
||||||
my @args = ( "mysql", "--login-path=asepath", "-e source " . $outfile );
|
my @args = ( "mysql", "--login-path=asepath", "-e source " . $outfile );
|
||||||
system(@args) == 0
|
system(@args) == 0
|
||||||
or die( getTimeStamp("log") . " - pid $$ >> system @args failed: $?\n" );
|
or die( getTimeStamp("log") . " - pid $$ >> system @args failed: $?\n" );
|
||||||
@@ -88,11 +105,11 @@ sub writeOutSql {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub matlabCalc {
|
sub matlabCalc {
|
||||||
getMatlabCmd();
|
getMatlabCmd();
|
||||||
$matlab_timestamp = getTimeStamp("db_ts");
|
$matlab_timestamp = getTimeStamp("db_ts");
|
||||||
print getTimeStamp("log") . " - pid $$ >> $unit - $tool MatLab calc started...\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool MatLab calc started...\n";
|
||||||
if ( $matlab_cmd =~ /_lnx$/ ) {
|
if ( $matlab_cmd =~ /_lnx$/ ) {
|
||||||
$matlab_cmd = './run_' . $matlab_cmd . '.sh';
|
$matlab_cmd = './run_' . $matlab_cmd . '.sh';
|
||||||
|
|
||||||
@@ -100,15 +117,21 @@ sub matlabCalc {
|
|||||||
$ENV{"HOME"} = "/" . $ENV{"HOME"};
|
$ENV{"HOME"} = "/" . $ENV{"HOME"};
|
||||||
chdir($matlab_func_dir)
|
chdir($matlab_func_dir)
|
||||||
or die "cannot change: $!\n";
|
or die "cannot change: $!\n";
|
||||||
print getTimeStamp("log") . " - pid $$ >> current dir: $matlab_func_dir\n";
|
print getTimeStamp("log")
|
||||||
my @args = ( 'timeout', $matlab_timeout, $matlab_cmd, $matlab_rt, $unit, $tool);
|
. " - pid $$ >> current dir: $matlab_func_dir\n";
|
||||||
|
my @args =
|
||||||
|
( 'timeout', $matlab_timeout, $matlab_cmd, $matlab_rt, $unit, $tool );
|
||||||
if ( system(@args) != 0 ) {
|
if ( system(@args) != 0 ) {
|
||||||
my $exit_value = $? >> 8;
|
my $exit_value = $? >> 8;
|
||||||
if ( $exit_value == 124 ) {
|
if ( $exit_value == 124 ) {
|
||||||
print getTimeStamp("log") . " - pid $$ >> system @args excessive duration: killed after $matlab_timeout seconds\n";
|
print getTimeStamp("log")
|
||||||
$matlab_error = "Maltab elab excessive duration: killed after $matlab_timeout seconds";
|
. " - pid $$ >> system @args excessive duration: killed after $matlab_timeout seconds\n";
|
||||||
} else {
|
$matlab_error =
|
||||||
print getTimeStamp("log") . " - pid $$ >> system @args failed: return code $exit_value - $?\n";
|
"Maltab elab excessive duration: killed after $matlab_timeout seconds";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> system @args failed: return code $exit_value - $?\n";
|
||||||
$matlab_error = "Maltab elab failed: $exit_value - $?";
|
$matlab_error = "Maltab elab failed: $exit_value - $?";
|
||||||
}
|
}
|
||||||
makeEmailMsg();
|
makeEmailMsg();
|
||||||
@@ -116,25 +139,29 @@ sub matlabCalc {
|
|||||||
print getTimeStamp("log") . " - pid $$ >> Execution ended.\n";
|
print getTimeStamp("log") . " - pid $$ >> Execution ended.\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$matlab_cmd = 'matlab_' . uc $matlab_cmd . '.cmd';
|
$matlab_cmd = 'matlab_' . uc $matlab_cmd . '.cmd';
|
||||||
my @out_matlab = `ssh1 $matlab_ip 'cmd /c $matlab_cmd ' $tool`;
|
my @out_matlab = `ssh1 $matlab_ip 'cmd /c $matlab_cmd ' $tool`;
|
||||||
if ( index( $out_matlab[-1], "Failure" ) != -1 ) {
|
if ( index( $out_matlab[-1], "Failure" ) != -1 ) {
|
||||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool MatLab calc failed.\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool MatLab calc failed.\n";
|
||||||
makeEmailMsg();
|
makeEmailMsg();
|
||||||
emailSend();
|
emailSend();
|
||||||
print getTimeStamp("log") . " - pid $$ >> Execution ended.\n";
|
print getTimeStamp("log") . " - pid $$ >> Execution ended.\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool MatLab calc executed.\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool MatLab calc executed.\n";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub trxelab {
|
sub trxelab {
|
||||||
my $dbh =DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
my $dbh =
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Could not connect to database: $DBI::errstr";
|
DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
||||||
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Could not connect to database: $DBI::errstr";
|
||||||
|
|
||||||
my $sth = $dbh->prepare(
|
my $sth = $dbh->prepare(
|
||||||
'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target, duedate from units
|
'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target, duedate from units
|
||||||
@@ -144,7 +171,8 @@ sub trxelab {
|
|||||||
$sth->execute();
|
$sth->execute();
|
||||||
if ( $sth->rows eq 0 ) {
|
if ( $sth->rows eq 0 ) {
|
||||||
die getTimeStamp("log") . " - pid $$ >> No unit ftp params selected.\n";
|
die getTimeStamp("log") . " - pid $$ >> No unit ftp params selected.\n";
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
while ( my $results = $sth->fetchrow_hashref ) {
|
while ( my $results = $sth->fetchrow_hashref ) {
|
||||||
$ftp_addrs = $results->{'ftp_addrs'};
|
$ftp_addrs = $results->{'ftp_addrs'};
|
||||||
$ftp_user = $results->{'ftp_user'};
|
$ftp_user = $results->{'ftp_user'};
|
||||||
@@ -162,11 +190,19 @@ sub trxelab {
|
|||||||
|
|
||||||
my $fileelab;
|
my $fileelab;
|
||||||
if ( $ftp_filename eq "" ) {
|
if ( $ftp_filename eq "" ) {
|
||||||
$fileelab ='/var/lib/mysql-files/'. $tool . '_'. getTimeStamp(). '.csv'; #mettere quello che si prende da query *** aggiungere $unit
|
$fileelab =
|
||||||
}else {
|
'/var/lib/mysql-files/'
|
||||||
|
. $tool . '_'
|
||||||
|
. getTimeStamp()
|
||||||
|
. '.csv'; #mettere quello che si prende da query *** aggiungere $unit
|
||||||
|
}
|
||||||
|
else {
|
||||||
$ftp_filename =~ s/(\$\w+)/$1/eeg;
|
$ftp_filename =~ s/(\$\w+)/$1/eeg;
|
||||||
$ftp_filename =~ s/\s/_/g;
|
$ftp_filename =~ s/\s/_/g;
|
||||||
$fileelab ='/var/lib/mysql-files/'. $ftp_filename . '_'. getTimeStamp() . '.csv';
|
$fileelab =
|
||||||
|
'/var/lib/mysql-files/'
|
||||||
|
. $ftp_filename . '_'
|
||||||
|
. getTimeStamp() . '.csv';
|
||||||
}
|
}
|
||||||
|
|
||||||
my $sthdo = $dbh->do(
|
my $sthdo = $dbh->do(
|
||||||
@@ -192,49 +228,72 @@ sub trxelab {
|
|||||||
$ftp_parm =~ s/\s//g;
|
$ftp_parm =~ s/\s//g;
|
||||||
|
|
||||||
my %ftp_parms = ( 'Host' => $ftp_addrs, );
|
my %ftp_parms = ( 'Host' => $ftp_addrs, );
|
||||||
|
$ftp_parms{'Debug'} = 0;
|
||||||
|
$ftp_parms{'Passive'} = 1;
|
||||||
|
|
||||||
foreach my $parm ( split( /,/, $ftp_parm ) ) {
|
foreach my $parm ( split( /,/, $ftp_parm ) ) {
|
||||||
my ( $key, $val ) = split( /=>/, $parm );
|
my ( $key, $val ) = split( /=>/, $parm );
|
||||||
$ftp_parms{$key} = $val;
|
$ftp_parms{$key} = $val;
|
||||||
}
|
}
|
||||||
$ftp_parms{'Debug'} = 0;
|
|
||||||
$ftp_parms{'Passive'} = 1;
|
|
||||||
|
|
||||||
print getTimeStamp("log") . " - pid $$ >> $unit - $tool ftp parm:\n" . Dumper(%ftp_parms);
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool ftp parm:\n"
|
||||||
|
. Dumper(%ftp_parms);
|
||||||
|
|
||||||
if ( !defined $duedate
|
if ( !defined $duedate
|
||||||
or ( $duedate eq '0000-00-00 00:00:00' )
|
or ( $duedate eq '0000-00-00 00:00:00' )
|
||||||
or ( $duedate eq '' )
|
or ( $duedate eq '' )
|
||||||
or($duedate gt getTimeStamp("db_ts") )) {
|
or ( $duedate gt getTimeStamp("db_ts") ) )
|
||||||
|
{
|
||||||
my $ftp = Net::FTP->new(%ftp_parms)
|
my $ftp = Net::FTP->new(%ftp_parms)
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n";
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n";
|
||||||
|
|
||||||
|
$ftp->starttls() if exists $ftp_parms{'SSL_version'};
|
||||||
|
|
||||||
$ftp->login( $ftp_user, $ftp_passwd )
|
$ftp->login( $ftp_user, $ftp_passwd )
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Cannot login ". $ftp->message . "\n";
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Cannot login "
|
||||||
|
. $ftp->message . "\n";
|
||||||
|
|
||||||
$ftp_target //= "";
|
$ftp_target //= "";
|
||||||
if ( $ftp_target ne "" ) {
|
if ( $ftp_target ne "" ) {
|
||||||
$ftp->cwd($ftp_target)
|
$ftp->cwd($ftp_target)
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Change remote dir failed ". $ftp->message . "\n";
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Change remote dir failed "
|
||||||
|
. $ftp->message . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print getTimeStamp("log"). " - pid $$ >> ftp target: ". $ftp->pwd() . ".\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> ftp target: "
|
||||||
|
. $ftp->pwd() . ".\n";
|
||||||
|
|
||||||
$ftp->put($fileelab)
|
$ftp->put($fileelab)
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Put failed: ". $ftp->message . "\n";
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Put failed: "
|
||||||
|
. $ftp->message . "\n";
|
||||||
|
|
||||||
print getTimeStamp("log"). " - pid $$ >> ftp target lists ". scalar @{ $ftp->ls() }. " elements.\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> ftp target lists "
|
||||||
|
. scalar @{ $ftp->ls() }
|
||||||
|
. " elements.\n";
|
||||||
|
|
||||||
$ftp->quit;
|
$ftp->quit;
|
||||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool: $fileelab ftp put executed.\n";
|
print getTimeStamp("log")
|
||||||
} else {
|
. " - pid $$ >> $unit - $tool: $fileelab ftp put executed.\n";
|
||||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool: $fileelab ftp put didn't executed because due date reached.\n";
|
}
|
||||||
|
else {
|
||||||
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool: $fileelab ftp put didn't executed because due date reached.\n";
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub getNodesType {
|
sub getNodesType {
|
||||||
my $dbh =DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
my $dbh =
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Could not connect to database: $DBI::errstr";
|
DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
||||||
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Could not connect to database: $DBI::errstr";
|
||||||
|
|
||||||
my $sth = $dbh->prepare(
|
my $sth = $dbh->prepare(
|
||||||
'select t.name as name, n.seq as seq, n.num as num, n.channels as channels, y.type as type, n.ain as ain, n.din as din
|
'select t.name as name, n.seq as seq, n.num as num, n.channels as channels, y.type as type, n.ain as ain, n.din as din
|
||||||
@@ -242,16 +301,25 @@ sub getNodesType {
|
|||||||
inner join tools as t on t.id = n.tool_id
|
inner join tools as t on t.id = n.tool_id
|
||||||
inner join units as u on u.id = t.unit_id
|
inner join units as u on u.id = t.unit_id
|
||||||
inner join nodetypes as y on n.nodetype_id = y.id
|
inner join nodetypes as y on n.nodetype_id = y.id
|
||||||
where t.name = "' . $tool . '" and u.name = "' . $unit . '" order by 3;'
|
where t.name = "'
|
||||||
|
. $tool
|
||||||
|
. '" and u.name = "'
|
||||||
|
. $unit
|
||||||
|
. '" order by 3;'
|
||||||
) or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
) or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
||||||
|
|
||||||
$sth->execute();
|
$sth->execute();
|
||||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool: " . $sth->rows . " rows selected to get node type/Ain/Din/channels.\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool: "
|
||||||
|
. $sth->rows
|
||||||
|
. " rows selected to get node type/Ain/Din/channels.\n";
|
||||||
if ( $sth->rows eq 0 ) {
|
if ( $sth->rows eq 0 ) {
|
||||||
print getTimeStamp("log"). " - pid $$ >> Node/Channels/Ain/Din not defined.\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Node/Channels/Ain/Din not defined.\n";
|
||||||
print getTimeStamp("log") . " - pid $$ >> Execution ended.\n";
|
print getTimeStamp("log") . " - pid $$ >> Execution ended.\n";
|
||||||
exit;
|
exit;
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
my $row = 0;
|
my $row = 0;
|
||||||
while ( my $results = $sth->fetchrow_hashref ) {
|
while ( my $results = $sth->fetchrow_hashref ) {
|
||||||
$channels[$row] = $results->{'channels'};
|
$channels[$row] = $results->{'channels'};
|
||||||
@@ -268,17 +336,22 @@ sub getNodesType {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub getUdbPwd {
|
sub getUdbPwd {
|
||||||
my $dbh =DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
my $dbh =
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Could not connect to database: $DBI::errstr";
|
DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
||||||
my $sth = $dbh->prepare("SELECT db_user, db_pwd FROM ase_lar.companies where db_name = '". $db_name. "';" )
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Could not connect to database: $DBI::errstr";
|
||||||
|
my $sth = $dbh->prepare(
|
||||||
|
"SELECT db_user, db_pwd FROM ase_lar.companies where db_name = '"
|
||||||
|
. $db_name
|
||||||
|
. "';" )
|
||||||
or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
||||||
|
|
||||||
$sth->execute();
|
$sth->execute();
|
||||||
if ( $sth->rows eq 0 ) {
|
if ( $sth->rows eq 0 ) {
|
||||||
die getTimeStamp("log") . " - pid $$ >> No password selected.\n";
|
die getTimeStamp("log") . " - pid $$ >> No password selected.\n";
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
my $results = $sth->fetchrow_hashref;
|
my $results = $sth->fetchrow_hashref;
|
||||||
$password = $results->{'db_pwd'};
|
$password = $results->{'db_pwd'};
|
||||||
$username = $results->{'db_user'};
|
$username = $results->{'db_user'};
|
||||||
@@ -292,10 +365,11 @@ sub getUdbPwd {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub getMatlabCmd {
|
sub getMatlabCmd {
|
||||||
my $dbh =DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
my $dbh =
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Could not connect to database: $DBI::errstr";
|
DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
||||||
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Could not connect to database: $DBI::errstr";
|
||||||
|
|
||||||
my $sth = $dbh->prepare(
|
my $sth = $dbh->prepare(
|
||||||
'select m.matcall, t.ftp_send , t.unit_id from matfuncs as m
|
'select m.matcall, t.ftp_send , t.unit_id from matfuncs as m
|
||||||
@@ -306,8 +380,10 @@ sub getMatlabCmd {
|
|||||||
|
|
||||||
$sth->execute();
|
$sth->execute();
|
||||||
if ( $sth->rows eq 0 ) {
|
if ( $sth->rows eq 0 ) {
|
||||||
die getTimeStamp("log"). " - pid $$ >> No tool's matlab function selected.\n";
|
die getTimeStamp("log")
|
||||||
}else {
|
. " - pid $$ >> No tool's matlab function selected.\n";
|
||||||
|
}
|
||||||
|
else {
|
||||||
while ( my $results = $sth->fetchrow_hashref ) {
|
while ( my $results = $sth->fetchrow_hashref ) {
|
||||||
$matlab_cmd = $results->{'matcall'};
|
$matlab_cmd = $results->{'matcall'};
|
||||||
$ftp_send = $results->{'ftp_send'};
|
$ftp_send = $results->{'ftp_send'};
|
||||||
@@ -322,7 +398,6 @@ sub getMatlabCmd {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub makeEmailMsg {
|
sub makeEmailMsg {
|
||||||
$email_msg = <<"END_MSG";
|
$email_msg = <<"END_MSG";
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
@@ -364,7 +439,6 @@ sub makeEmailMsg {
|
|||||||
END_MSG
|
END_MSG
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub emailSend {
|
sub emailSend {
|
||||||
$email_obj = 'Matlab error on unit ' . $unit . ' - tool ' . $tool;
|
$email_obj = 'Matlab error on unit ' . $unit . ' - tool ' . $tool;
|
||||||
|
|
||||||
@@ -384,8 +458,10 @@ sub emailSend {
|
|||||||
|
|
||||||
my $mail_res = $sender->MailMsg( { msg => $sender->{msg}, } );
|
my $mail_res = $sender->MailMsg( { msg => $sender->{msg}, } );
|
||||||
if ( ref($mail_res) ne "Mail::Sender" ) {
|
if ( ref($mail_res) ne "Mail::Sender" ) {
|
||||||
print getTimeStamp("log") . " - pid $$ >> $mail_res: $sender->{error_msg} \n";
|
print getTimeStamp("log")
|
||||||
} else {
|
. " - pid $$ >> $mail_res: $sender->{error_msg} \n";
|
||||||
|
}
|
||||||
|
else {
|
||||||
print getTimeStamp("log") . " - pid $$ >> $email_obj\n";
|
print getTimeStamp("log") . " - pid $$ >> $email_obj\n";
|
||||||
print getTimeStamp("log") . " - pid $$ >> Mail sent to: $email_addr.\n";
|
print getTimeStamp("log") . " - pid $$ >> Mail sent to: $email_addr.\n";
|
||||||
}
|
}
|
||||||
@@ -407,7 +483,8 @@ if ( $db_name ne 'asega' ) {
|
|||||||
$db_sp = $db_name;
|
$db_sp = $db_name;
|
||||||
getUdbPwd();
|
getUdbPwd();
|
||||||
$db_lar = $db_name;
|
$db_lar = $db_name;
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
$db_name = 'ase_lar';
|
$db_name = 'ase_lar';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -416,12 +493,14 @@ if ( $filecsvname =~ m/^(\d\d_\d\d\d\d_|)(DT\d\d\d\d|LOC\d.*|GD\d*)_\d*$/i ) {
|
|||||||
( $fileDate, $fileTime ) = split( /\s/, <FILE> );
|
( $fileDate, $fileTime ) = split( /\s/, <FILE> );
|
||||||
( $unittype, $unit ) = split( /\s/, uc <FILE> );
|
( $unittype, $unit ) = split( /\s/, uc <FILE> );
|
||||||
$unit =~ s/;+$//;
|
$unit =~ s/;+$//;
|
||||||
} elsif ( $filecsvname =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*_\d*$/i ) {
|
}
|
||||||
my @strings = $filecsvname =~ /(.{1,4})_(.{1,6})_(.{1,6})_(.{1,4})(.{1,2})(.{1,2})(.{1,2})(.{1,2})(.{1,2}).*/;
|
elsif ( $filecsvname =~ m/^G201_ID\d\d\d\d_DT\d\d\d\d_\d*_\d*$/i ) {
|
||||||
|
my @strings = $filecsvname =~
|
||||||
|
/(.{1,4})_(.{1,6})_(.{1,6})_(.{1,4})(.{1,2})(.{1,2})(.{1,2})(.{1,2})(.{1,2}).*/;
|
||||||
$unittype = $strings[0];
|
$unittype = $strings[0];
|
||||||
$unit = $strings[1];
|
$unit = $strings[1];
|
||||||
$tool = $strings[2];
|
$tool = $strings[2];
|
||||||
$fileDate = $strings[3] . "/" . $strings[4] . "/" . $strings[5];;
|
$fileDate = $strings[3] . "/" . $strings[4] . "/" . $strings[5];
|
||||||
$fileTime = $strings[6] . ":" . $strings[7] . ":" . $strings[8];
|
$fileTime = $strings[6] . ":" . $strings[7] . ":" . $strings[8];
|
||||||
$tooltype = 'MUX';
|
$tooltype = 'MUX';
|
||||||
}
|
}
|
||||||
@@ -435,25 +514,32 @@ while ( my $line = <FILE> ) {
|
|||||||
if ( defined $info[3] && $info[3] =~ m/^DT\d\d\d\d$/i ) {
|
if ( defined $info[3] && $info[3] =~ m/^DT\d\d\d\d$/i ) {
|
||||||
$tool = uc $info[3];
|
$tool = uc $info[3];
|
||||||
$tooltype = uc $info[2];
|
$tooltype = uc $info[2];
|
||||||
print getTimeStamp("log"). " - pid $$ >> Found $tooltype tool name: $tool\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Found $tooltype tool name: $tool\n";
|
||||||
getNodesType();
|
getNodesType();
|
||||||
}elsif ( defined $info[2] && $info[2] =~ m/^LOC\d*$/i ) {
|
}
|
||||||
|
elsif ( defined $info[2] && $info[2] =~ m/^LOC\d*$/i ) {
|
||||||
$tool = uc $info[2];
|
$tool = uc $info[2];
|
||||||
$tooltype = 'LOC';
|
$tooltype = 'LOC';
|
||||||
print getTimeStamp("log"). " - pid $$ >> Found $tooltype tool name: $tool\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Found $tooltype tool name: $tool\n";
|
||||||
getNodesType();
|
getNodesType();
|
||||||
}elsif ( defined $info[3] && $info[3] =~ m/^GD\d*$/i ) {
|
}
|
||||||
|
elsif ( defined $info[3] && $info[3] =~ m/^GD\d*$/i ) {
|
||||||
$tool = uc $info[3];
|
$tool = uc $info[3];
|
||||||
$tooltype = 'GD';
|
$tooltype = 'GD';
|
||||||
print getTimeStamp("log"). " - pid $$ >> Found $tooltype tool name: $tool\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Found $tooltype tool name: $tool\n";
|
||||||
}
|
}
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
$NodeData =~ s/\x0d{0,1}\x0a\Z//s;
|
$NodeData =~ s/\x0d{0,1}\x0a\Z//s;
|
||||||
$NodeData =~ s/;+$//;
|
$NodeData =~ s/;+$//;
|
||||||
|
|
||||||
#$NodeData =~ s/\r\n\z//;
|
#$NodeData =~ s/\r\n\z//;
|
||||||
if ( $unittype eq 'G201' and $G201_fcheck eq 0 ) {
|
if ( $unittype eq 'G201' and $G201_fcheck eq 0 ) {
|
||||||
print getTimeStamp("log"). " - pid $$ >> Found $tooltype tool name: $tool\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Found $tooltype tool name: $tool\n";
|
||||||
getNodesType();
|
getNodesType();
|
||||||
$G201_fcheck = 1;
|
$G201_fcheck = 1;
|
||||||
}
|
}
|
||||||
@@ -471,7 +557,8 @@ while ( my $line = <FILE> ) {
|
|||||||
join( ';', splice( @NewData, 0, $ch ) );
|
join( ';', splice( @NewData, 0, $ch ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
}elsif ( $tooltype eq "MUSA" ) {
|
}
|
||||||
|
elsif ( $tooltype eq "MUSA" ) {
|
||||||
|
|
||||||
#$NodeData =~ s/Dis\./N\/A/g;
|
#$NodeData =~ s/Dis\./N\/A/g;
|
||||||
my @tmpData = grep /\S/, split( /\||;/, $NodeData );
|
my @tmpData = grep /\S/, split( /\||;/, $NodeData );
|
||||||
@@ -490,7 +577,8 @@ while ( my $line = <FILE> ) {
|
|||||||
#print Dumper \@channels;
|
#print Dumper \@channels;
|
||||||
#print Dumper \@din;
|
#print Dumper \@din;
|
||||||
|
|
||||||
}elsif ( $tooltype eq "LOC" ) {
|
}
|
||||||
|
elsif ( $tooltype eq "LOC" ) {
|
||||||
my ( $Vbat, $Tmod, $Ain1, $Ain2, $Din1, $Din2 ) =
|
my ( $Vbat, $Tmod, $Ain1, $Ain2, $Din1, $Din2 ) =
|
||||||
split( /;/, $NodeData );
|
split( /;/, $NodeData );
|
||||||
|
|
||||||
@@ -504,34 +592,47 @@ while ( my $line = <FILE> ) {
|
|||||||
if ( $used_din eq 0 ) {
|
if ( $used_din eq 0 ) {
|
||||||
$CSVData[ $idx++ ] = $Din1;
|
$CSVData[ $idx++ ] = $Din1;
|
||||||
$used_din = 1;
|
$used_din = 1;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$CSVData[ $idx++ ] = $Din2;
|
$CSVData[ $idx++ ] = $Din2;
|
||||||
}
|
}
|
||||||
} elsif ($ain[$i] eq 1) {
|
}
|
||||||
|
elsif ( $ain[$i] eq 1 ) {
|
||||||
if ( $used_ain eq 0 ) {
|
if ( $used_ain eq 0 ) {
|
||||||
$CSVData[ $idx++ ] = $Ain1;
|
$CSVData[ $idx++ ] = $Ain1;
|
||||||
$used_ain = 1;
|
$used_ain = 1;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$CSVData[ $idx++ ] = $Ain2;
|
$CSVData[ $idx++ ] = $Ain2;
|
||||||
}
|
}
|
||||||
} elsif ($din[$i] eq 2) {
|
}
|
||||||
|
elsif ( $din[$i] eq 2 ) {
|
||||||
$CSVData[ $idx++ ] = $Din1 . ";" . $Din2;
|
$CSVData[ $idx++ ] = $Din1 . ";" . $Din2;
|
||||||
} elsif ($ain[$i] eq 2) {
|
}
|
||||||
|
elsif ( $ain[$i] eq 2 ) {
|
||||||
$CSVData[ $idx++ ] = $Ain1 . ";" . $Ain2;
|
$CSVData[ $idx++ ] = $Ain1 . ";" . $Ain2;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
$CSVData[ $idx++ ] = "N/A";
|
$CSVData[ $idx++ ] = "N/A";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}elsif ( $tooltype eq "GD" ) {
|
}
|
||||||
|
elsif ( $tooltype eq "GD" ) {
|
||||||
my ( $div, $Vbat, $Tmod ) =
|
my ( $div, $Vbat, $Tmod ) =
|
||||||
split( /;/, $NodeData );
|
split( /;/, $NodeData );
|
||||||
$CSVData[0] = $Vbat . ";" . $Tmod;
|
$CSVData[0] = $Vbat . ";" . $Tmod;
|
||||||
my ( $y, $m, $d, $t ) = split( /[\s\/]/, $first );
|
my ( $y, $m, $d, $t ) = split( /[\s\/]/, $first );
|
||||||
my ( $h, $min, $sec ) = split( /:/, $t );
|
my ( $h, $min, $sec ) = split( /:/, $t );
|
||||||
$GDEventDate = $y . '-' . $m . '-' . $d;
|
$GDEventDate = $y . '-' . $m . '-' . $d;
|
||||||
$CSVData[1] = "DT". substr( $tool, 2, 4 ) . ';'. $h . ':'. ( $min - 1 ) . ';'. $h . ':'. ( $min + 1 );
|
$CSVData[1] = "DT"
|
||||||
}else {
|
. substr( $tool, 2, 4 ) . ';'
|
||||||
|
. $h . ':'
|
||||||
|
. ( $min - 1 ) . ';'
|
||||||
|
. $h . ':'
|
||||||
|
. ( $min + 1 );
|
||||||
|
}
|
||||||
|
else {
|
||||||
@CSVData = split( /\|/, $NodeData );
|
@CSVData = split( /\|/, $NodeData );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -542,7 +643,8 @@ while ( my $line = <FILE> ) {
|
|||||||
if ( $nodenum eq 0 ) {
|
if ( $nodenum eq 0 ) {
|
||||||
$toolbatt = $data[0];
|
$toolbatt = $data[0];
|
||||||
$tooltemp = $data[1];
|
$tooltemp = $data[1];
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
my ( $y, $m, $d, $t ) = split( /[\s\/]/, $first );
|
my ( $y, $m, $d, $t ) = split( /[\s\/]/, $first );
|
||||||
if ( length($y) != 4 ) { # G201 con la data invertita
|
if ( length($y) != 4 ) { # G201 con la data invertita
|
||||||
my $w = $y;
|
my $w = $y;
|
||||||
@@ -552,7 +654,8 @@ while ( my $line = <FILE> ) {
|
|||||||
}
|
}
|
||||||
foreach (@data) {
|
foreach (@data) {
|
||||||
if ( $sql[ ( $outcount % $maxsqllines ) ] eq "" ) {
|
if ( $sql[ ( $outcount % $maxsqllines ) ] eq "" ) {
|
||||||
$sql[ ( $outcount % $maxsqllines ) ] = "('$unit','$tool','$nodenum','$y-$m-$d','$t','$toolbatt','$tooltemp'";
|
$sql[ ( $outcount % $maxsqllines ) ] =
|
||||||
|
"('$unit','$tool','$nodenum','$y-$m-$d','$t','$toolbatt','$tooltemp'";
|
||||||
}
|
}
|
||||||
$sql[ ( $outcount % $maxsqllines ) ] .= ",'" . $_ . "'";
|
$sql[ ( $outcount % $maxsqllines ) ] .= ",'" . $_ . "'";
|
||||||
}
|
}
|
||||||
@@ -561,7 +664,8 @@ while ( my $line = <FILE> ) {
|
|||||||
if ( ++$outcount % $maxsqllines eq 0 ) {
|
if ( ++$outcount % $maxsqllines eq 0 ) {
|
||||||
$sql[ ( $outcount % $maxsqllines ) - 1 ] .= ";\n";
|
$sql[ ( $outcount % $maxsqllines ) - 1 ] .= ";\n";
|
||||||
writeOutSql($tool);
|
writeOutSql($tool);
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
$sql[ ( $outcount % $maxsqllines ) - 1 ] .= ",\n";
|
$sql[ ( $outcount % $maxsqllines ) - 1 ] .= ",\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -575,7 +679,8 @@ $sql[ ( $outcount % $maxsqllines ) - 1 ] =~ s/,$/;/g;
|
|||||||
writeOutSql($tool);
|
writeOutSql($tool);
|
||||||
if ( $tooltype eq "GD" ) {
|
if ( $tooltype eq "GD" ) {
|
||||||
print getTimeStamp("log") . " - pid $$ >> tool GD: nothing to do.\n";
|
print getTimeStamp("log") . " - pid $$ >> tool GD: nothing to do.\n";
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
matlabCalc();
|
matlabCalc();
|
||||||
|
|
||||||
if ($ftp_send) {
|
if ($ftp_send) {
|
||||||
|
|||||||
@@ -29,26 +29,31 @@ my $ftp_filename;
|
|||||||
my $ftp_target;
|
my $ftp_target;
|
||||||
my $duedate = '';
|
my $duedate = '';
|
||||||
|
|
||||||
|
sub getTimeStamp
|
||||||
sub getTimeStamp{ # parm [ts] => timestamp for filename; log => timestamp for log
|
{ # parm [ts] => timestamp for filename; log => timestamp for log
|
||||||
my $format = "%04d%02d%02d%02d%02d%02d";
|
my $format = "%04d%02d%02d%02d%02d%02d";
|
||||||
my ($p1) = @_;
|
my ($p1) = @_;
|
||||||
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time());
|
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
|
||||||
|
localtime( time() );
|
||||||
if ( defined $p1 and $p1 eq "log" ) {
|
if ( defined $p1 and $p1 eq "log" ) {
|
||||||
$format = "%04d%02d%02d %02d:%02d:%02d";
|
$format = "%04d%02d%02d %02d:%02d:%02d";
|
||||||
}
|
}
|
||||||
if ( defined $p1 and $p1 eq "db_ts" ) {
|
if ( defined $p1 and $p1 eq "db_ts" ) {
|
||||||
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time() - 36000);
|
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
|
||||||
|
localtime( time() - 36000 );
|
||||||
$format = "%04d-%02d-%02d %02d:%02d:%02d";
|
$format = "%04d-%02d-%02d %02d:%02d:%02d";
|
||||||
}
|
}
|
||||||
|
|
||||||
my $timestamp =sprintf( $format, $year + 1900, $mon + 1, $mday, $hour, $min, $sec );
|
my $timestamp =
|
||||||
|
sprintf( $format, $year + 1900, $mon + 1, $mday, $hour, $min, $sec );
|
||||||
return $timestamp;
|
return $timestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub trxelab {
|
sub trxelab {
|
||||||
my $dbh =DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
my $dbh =
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Could not connect to database: $DBI::errstr";
|
DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
||||||
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Could not connect to database: $DBI::errstr";
|
||||||
|
|
||||||
my $sth = $dbh->prepare(
|
my $sth = $dbh->prepare(
|
||||||
'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target, duedate from units
|
'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target, duedate from units
|
||||||
@@ -58,7 +63,8 @@ sub trxelab {
|
|||||||
$sth->execute();
|
$sth->execute();
|
||||||
if ( $sth->rows eq 0 ) {
|
if ( $sth->rows eq 0 ) {
|
||||||
die getTimeStamp("log") . " - pid $$ >> No unit ftp params selected.\n";
|
die getTimeStamp("log") . " - pid $$ >> No unit ftp params selected.\n";
|
||||||
}else {
|
}
|
||||||
|
else {
|
||||||
while ( my $results = $sth->fetchrow_hashref ) {
|
while ( my $results = $sth->fetchrow_hashref ) {
|
||||||
$ftp_addrs = $results->{'ftp_addrs'};
|
$ftp_addrs = $results->{'ftp_addrs'};
|
||||||
$ftp_user = $results->{'ftp_user'};
|
$ftp_user = $results->{'ftp_user'};
|
||||||
@@ -76,11 +82,19 @@ sub trxelab {
|
|||||||
|
|
||||||
my $fileelab;
|
my $fileelab;
|
||||||
if ( $ftp_filename eq "" ) {
|
if ( $ftp_filename eq "" ) {
|
||||||
$fileelab ='/var/lib/mysql-files/'. $tool . '_'. getTimeStamp(). '.csv'; #mettere quello che si prende da query *** aggiungere $unit
|
$fileelab =
|
||||||
}else {
|
'/var/lib/mysql-files/'
|
||||||
|
. $tool . '_'
|
||||||
|
. getTimeStamp()
|
||||||
|
. '.csv'; #mettere quello che si prende da query *** aggiungere $unit
|
||||||
|
}
|
||||||
|
else {
|
||||||
$ftp_filename =~ s/(\$\w+)/$1/eeg;
|
$ftp_filename =~ s/(\$\w+)/$1/eeg;
|
||||||
$ftp_filename =~ s/\s/_/g;
|
$ftp_filename =~ s/\s/_/g;
|
||||||
$fileelab ='/var/lib/mysql-files/'. $ftp_filename . '_'. getTimeStamp() . '.csv';
|
$fileelab =
|
||||||
|
'/var/lib/mysql-files/'
|
||||||
|
. $ftp_filename . '_'
|
||||||
|
. getTimeStamp() . '.csv';
|
||||||
}
|
}
|
||||||
|
|
||||||
my $sthdo = $dbh->do(
|
my $sthdo = $dbh->do(
|
||||||
@@ -114,36 +128,55 @@ sub trxelab {
|
|||||||
$ftp_parms{$key} = $val;
|
$ftp_parms{$key} = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
print getTimeStamp("log") . " - pid $$ >> $unit - $tool ftp parm:\n" . Dumper(%ftp_parms);
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool ftp parm:\n"
|
||||||
|
. Dumper(%ftp_parms);
|
||||||
|
|
||||||
if ( !defined $duedate
|
if ( !defined $duedate
|
||||||
or ( $duedate eq '0000-00-00 00:00:00' )
|
or ( $duedate eq '0000-00-00 00:00:00' )
|
||||||
or ( $duedate eq '' )
|
or ( $duedate eq '' )
|
||||||
or($duedate gt getTimeStamp("db_ts") )) {
|
or ( $duedate gt getTimeStamp("db_ts") ) )
|
||||||
|
{
|
||||||
my $ftp = Net::FTP->new(%ftp_parms)
|
my $ftp = Net::FTP->new(%ftp_parms)
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n";
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n";
|
||||||
|
|
||||||
|
$ftp->starttls() if exists $ftp_parms{'SSL_version'};
|
||||||
|
|
||||||
$ftp->login( $ftp_user, $ftp_passwd )
|
$ftp->login( $ftp_user, $ftp_passwd )
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Cannot login ". $ftp->message . "\n";
|
or die getTimeStamp("log")
|
||||||
if ( $ftp_parms{"SSL"} ) {
|
. " - pid $$ >> Cannot login "
|
||||||
$ftp->starttls();
|
. $ftp->message . "\n";
|
||||||
}
|
|
||||||
$ftp_target //= "";
|
$ftp_target //= "";
|
||||||
if ( $ftp_target ne "" ) {
|
if ( $ftp_target ne "" ) {
|
||||||
$ftp->cwd($ftp_target)
|
$ftp->cwd($ftp_target)
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Change remote dir failed ". $ftp->message . "\n";
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Change remote dir failed "
|
||||||
|
. $ftp->message . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print getTimeStamp("log"). " - pid $$ >> ftp target: ". $ftp->pwd() . ".\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> ftp target: "
|
||||||
|
. $ftp->pwd() . ".\n";
|
||||||
|
|
||||||
$ftp->put($fileelab)
|
$ftp->put($fileelab)
|
||||||
or die getTimeStamp("log"). " - pid $$ >> Put failed: ". $ftp->message . "\n";
|
or die getTimeStamp("log")
|
||||||
|
. " - pid $$ >> Put failed: "
|
||||||
|
. $ftp->message . "\n";
|
||||||
|
|
||||||
print getTimeStamp("log"). " - pid $$ >> ftp target lists ". scalar @{ $ftp->ls() }. " elements.\n";
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> ftp target lists "
|
||||||
|
. scalar @{ $ftp->ls() }
|
||||||
|
. " elements.\n";
|
||||||
|
|
||||||
$ftp->quit;
|
$ftp->quit;
|
||||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool: $fileelab ftp put executed.\n";
|
print getTimeStamp("log")
|
||||||
} else {
|
. " - pid $$ >> $unit - $tool: $fileelab ftp put executed.\n";
|
||||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool: $fileelab ftp put didn't executed because due date reached.\n";
|
}
|
||||||
|
else {
|
||||||
|
print getTimeStamp("log")
|
||||||
|
. " - pid $$ >> $unit - $tool: $fileelab ftp put didn't executed because due date reached.\n";
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user