starttls
This commit is contained in:
889
LoadCSVData.pl
889
LoadCSVData.pl
File diff suppressed because it is too large
Load Diff
205
SendElabData.pl
205
SendElabData.pl
@@ -19,7 +19,7 @@ my $db_sp = 'ase_lar';
|
||||
my $server = 'localhost';
|
||||
my $db_name = "ase_lar";
|
||||
my @sql;
|
||||
my ($unit, $tool);
|
||||
my ( $unit, $tool );
|
||||
my $matlab_timestamp = "";
|
||||
my $ftp_addrs;
|
||||
my $ftp_user;
|
||||
@@ -29,62 +29,76 @@ my $ftp_filename;
|
||||
my $ftp_target;
|
||||
my $duedate = '';
|
||||
|
||||
sub getTimeStamp
|
||||
{ # parm [ts] => timestamp for filename; log => timestamp for log
|
||||
my $format = "%04d%02d%02d%02d%02d%02d";
|
||||
my ($p1) = @_;
|
||||
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
|
||||
localtime( time() );
|
||||
if ( defined $p1 and $p1 eq "log" ) {
|
||||
$format = "%04d%02d%02d %02d:%02d:%02d";
|
||||
}
|
||||
if ( defined $p1 and $p1 eq "db_ts" ) {
|
||||
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
|
||||
localtime( time() - 36000 );
|
||||
$format = "%04d-%02d-%02d %02d:%02d:%02d";
|
||||
}
|
||||
|
||||
sub getTimeStamp{ # parm [ts] => timestamp for filename; log => timestamp for log
|
||||
my $format = "%04d%02d%02d%02d%02d%02d";
|
||||
my ($p1) = @_;
|
||||
my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time());
|
||||
if ( defined $p1 and $p1 eq "log" ) {
|
||||
$format = "%04d%02d%02d %02d:%02d:%02d";
|
||||
}
|
||||
if ( defined $p1 and $p1 eq "db_ts" ) {
|
||||
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) = localtime(time() - 36000);
|
||||
$format = "%04d-%02d-%02d %02d:%02d:%02d";
|
||||
}
|
||||
|
||||
my $timestamp =sprintf( $format, $year + 1900, $mon + 1, $mday, $hour, $min, $sec );
|
||||
return $timestamp;
|
||||
my $timestamp =
|
||||
sprintf( $format, $year + 1900, $mon + 1, $mday, $hour, $min, $sec );
|
||||
return $timestamp;
|
||||
}
|
||||
|
||||
sub trxelab {
|
||||
my $dbh =DBI->connect( "DBI:mysql:$db_lar;host=$server", $username, $password )
|
||||
or die getTimeStamp("log"). " - pid $$ >> Could not connect to database: $DBI::errstr";
|
||||
my $dbh =
|
||||
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(
|
||||
'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target, duedate from units
|
||||
my $sth = $dbh->prepare(
|
||||
'select ftp_addrs, ftp_user, ftp_passwd, ftp_parm, ftp_filename, ftp_target, duedate from units
|
||||
where name = "' . $unit . '";'
|
||||
) or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
||||
) or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
||||
|
||||
$sth->execute();
|
||||
if ( $sth->rows eq 0 ) {
|
||||
die getTimeStamp("log") . " - pid $$ >> No unit ftp params selected.\n";
|
||||
}else {
|
||||
while ( my $results = $sth->fetchrow_hashref ) {
|
||||
$ftp_addrs = $results->{'ftp_addrs'};
|
||||
$ftp_user = $results->{'ftp_user'};
|
||||
$ftp_passwd = $results->{'ftp_passwd'};
|
||||
$ftp_parm = $results->{'ftp_parm'};
|
||||
$ftp_filename = $results->{'ftp_filename'};
|
||||
$ftp_target = $results->{'ftp_target'};
|
||||
$duedate = $results->{'duedate'};
|
||||
}
|
||||
}
|
||||
$sth->execute();
|
||||
if ( $sth->rows eq 0 ) {
|
||||
die getTimeStamp("log") . " - pid $$ >> No unit ftp params selected.\n";
|
||||
}
|
||||
else {
|
||||
while ( my $results = $sth->fetchrow_hashref ) {
|
||||
$ftp_addrs = $results->{'ftp_addrs'};
|
||||
$ftp_user = $results->{'ftp_user'};
|
||||
$ftp_passwd = $results->{'ftp_passwd'};
|
||||
$ftp_parm = $results->{'ftp_parm'};
|
||||
$ftp_filename = $results->{'ftp_filename'};
|
||||
$ftp_target = $results->{'ftp_target'};
|
||||
$duedate = $results->{'duedate'};
|
||||
}
|
||||
}
|
||||
|
||||
$sth->finish;
|
||||
$sth->finish;
|
||||
|
||||
# Disconnect
|
||||
# Disconnect
|
||||
|
||||
my $fileelab;
|
||||
if ( $ftp_filename eq "" ) {
|
||||
$fileelab ='/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/\s/_/g;
|
||||
$fileelab ='/var/lib/mysql-files/'. $ftp_filename . '_'. getTimeStamp() . '.csv';
|
||||
}
|
||||
my $fileelab;
|
||||
if ( $ftp_filename eq "" ) {
|
||||
$fileelab =
|
||||
'/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/\s/_/g;
|
||||
$fileelab =
|
||||
'/var/lib/mysql-files/'
|
||||
. $ftp_filename . '_'
|
||||
. getTimeStamp() . '.csv';
|
||||
}
|
||||
|
||||
my $sthdo = $dbh->do(
|
||||
qq{
|
||||
my $sthdo = $dbh->do(
|
||||
qq{
|
||||
select * from (
|
||||
select 'ToolNameID', 'EventDate', 'EventTime', 'NodeNum', 'NodeType', 'NodeDepth',
|
||||
'XShift', 'YShift', 'ZShift' , 'X', 'Y', 'Z', 'HShift', 'HShiftDir', 'HShift_local',
|
||||
@@ -99,61 +113,80 @@ sub trxelab {
|
||||
) resulting_set
|
||||
into outfile '$fileelab'
|
||||
fields terminated by ',' optionally enclosed by '"' lines terminated by '\n'}
|
||||
) or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
||||
) or die getTimeStamp("log") . " - pid $$ >> $DBI::errstr";
|
||||
|
||||
$dbh->disconnect;
|
||||
$ftp_parm //= "";
|
||||
$ftp_parm =~ s/\s//g;
|
||||
$dbh->disconnect;
|
||||
$ftp_parm //= "";
|
||||
$ftp_parm =~ s/\s//g;
|
||||
|
||||
my %ftp_parms = ('Host' => $ftp_addrs,);
|
||||
$ftp_parms{'Debug'} = 0;
|
||||
$ftp_parms{'Passive'} = 1;
|
||||
my %ftp_parms = ( 'Host' => $ftp_addrs, );
|
||||
$ftp_parms{'Debug'} = 0;
|
||||
$ftp_parms{'Passive'} = 1;
|
||||
|
||||
foreach my $parm (split(/,/, $ftp_parm)){
|
||||
my ($key, $val) = split(/=>/, $parm);
|
||||
$ftp_parms{$key} = $val;
|
||||
}
|
||||
foreach my $parm ( split( /,/, $ftp_parm ) ) {
|
||||
my ( $key, $val ) = split( /=>/, $parm );
|
||||
$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
|
||||
or($duedate eq '0000-00-00 00:00:00')
|
||||
or($duedate eq '')
|
||||
or($duedate gt getTimeStamp("db_ts") )) {
|
||||
my $ftp = Net::FTP->new(%ftp_parms)
|
||||
or die getTimeStamp("log"). " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n";
|
||||
$ftp->login( $ftp_user, $ftp_passwd )
|
||||
or die getTimeStamp("log"). " - pid $$ >> Cannot login ". $ftp->message . "\n";
|
||||
if ( $ftp_parms{"SSL"} ) {
|
||||
$ftp->starttls();
|
||||
}
|
||||
$ftp_target //= "";
|
||||
if ( $ftp_target ne "" ) {
|
||||
$ftp->cwd($ftp_target)
|
||||
or die getTimeStamp("log"). " - pid $$ >> Change remote dir failed ". $ftp->message . "\n";
|
||||
}
|
||||
if ( !defined $duedate
|
||||
or ( $duedate eq '0000-00-00 00:00:00' )
|
||||
or ( $duedate eq '' )
|
||||
or ( $duedate gt getTimeStamp("db_ts") ) )
|
||||
{
|
||||
my $ftp = Net::FTP->new(%ftp_parms)
|
||||
or die getTimeStamp("log")
|
||||
. " - pid $$ >> Cannot connect to $ftp_addrs: $@ \n";
|
||||
|
||||
print getTimeStamp("log"). " - pid $$ >> ftp target: ". $ftp->pwd() . ".\n";
|
||||
$ftp->starttls() if exists $ftp_parms{'SSL_version'};
|
||||
|
||||
$ftp->put($fileelab)
|
||||
or die getTimeStamp("log"). " - pid $$ >> Put failed: ". $ftp->message . "\n";
|
||||
$ftp->login( $ftp_user, $ftp_passwd )
|
||||
or die getTimeStamp("log")
|
||||
. " - pid $$ >> Cannot login "
|
||||
. $ftp->message . "\n";
|
||||
|
||||
print getTimeStamp("log"). " - pid $$ >> ftp target lists ". scalar @{ $ftp->ls() }. " elements.\n";
|
||||
$ftp_target //= "";
|
||||
if ( $ftp_target ne "" ) {
|
||||
$ftp->cwd($ftp_target)
|
||||
or die getTimeStamp("log")
|
||||
. " - pid $$ >> Change remote dir failed "
|
||||
. $ftp->message . "\n";
|
||||
}
|
||||
|
||||
$ftp->quit;
|
||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool: $fileelab ftp put executed.\n";
|
||||
} else {
|
||||
print getTimeStamp("log"). " - pid $$ >> $unit - $tool: $fileelab ftp put didn't executed because due date reached.\n";
|
||||
}
|
||||
return;
|
||||
print getTimeStamp("log")
|
||||
. " - pid $$ >> ftp target: "
|
||||
. $ftp->pwd() . ".\n";
|
||||
|
||||
$ftp->put($fileelab)
|
||||
or die getTimeStamp("log")
|
||||
. " - pid $$ >> Put failed: "
|
||||
. $ftp->message . "\n";
|
||||
|
||||
print getTimeStamp("log")
|
||||
. " - pid $$ >> ftp target lists "
|
||||
. scalar @{ $ftp->ls() }
|
||||
. " elements.\n";
|
||||
|
||||
$ftp->quit;
|
||||
print getTimeStamp("log")
|
||||
. " - pid $$ >> $unit - $tool: $fileelab ftp put executed.\n";
|
||||
}
|
||||
else {
|
||||
print getTimeStamp("log")
|
||||
. " - pid $$ >> $unit - $tool: $fileelab ftp put didn't executed because due date reached.\n";
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
my $starttime = getTimeStamp("log");
|
||||
print "$starttime - pid $$ >> Start execution.\n";
|
||||
|
||||
GetOptions(
|
||||
"unit=s" => \$unit,
|
||||
"tool=s" => \$tool
|
||||
"unit=s" => \$unit,
|
||||
"tool=s" => \$tool
|
||||
) or die("Error in command line arguments\n");
|
||||
die("ERROR: unit must be specified.") unless defined $unit;
|
||||
die("ERROR: tool must be specified.") unless defined $tool;
|
||||
|
||||
Reference in New Issue
Block a user