prova x nuovo nas

This commit is contained in:
2022-03-20 11:22:12 +01:00
parent 34963ff870
commit 45cf39091f

View File

@@ -36,60 +36,67 @@ my $password = 'mums';
my $lockTS; my $lockTS;
my $lockfile = '/tmp/retransmit.lock'; my $lockfile = '/tmp/retransmit.lock';
GetOptions( "file=s" => \$readingFile, GetOptions(
"file=s" => \$readingFile,
"lockts=i" => \$lockTS "lockts=i" => \$lockTS
) or die("Error in command line arguments\n"); ) or die("Error in command line arguments\n");
if (-e $lockfile) { if ( -e $lockfile ) {
my $content; my $content;
open(my $fh, '<', $lockfile) or die "cannot open file $lockfile"; open( my $fh, '<', $lockfile ) or die "cannot open file $lockfile";
{ {
local $/; local $/;
$content = <$fh>; $content = <$fh>;
} }
close($fh); close($fh);
if ($content != $lockTS) { if ( $content != $lockTS ) {
print getTimeStamp("log") . " >> timestamp mismatch... $content - $lockTS ... Exiting. \n"; print getTimeStamp("log")
. " >> timestamp mismatch... $content - $lockTS ... Exiting. \n";
exit(0); exit(0);
} }
} else { }
open(FH, '>', $lockfile) or die $!; else {
open( FH, '>', $lockfile ) or die $!;
print FH $lockTS; print FH $lockTS;
close(FH); close(FH);
} }
if (index( $readingFile, 'ZZZZZZ.csv' ) > 0) { if ( index( $readingFile, 'ZZZZZZ.csv' ) > 0 ) {
unlink $lockfile; unlink $lockfile;
exit(0); exit(0);
} }
print getTimeStamp("log") . " >> $readingFile \n"; print getTimeStamp("log") . " >> $readingFile \n";
my($scriptname, $scriptpath) = fileparse($0); my ( $scriptname, $scriptpath ) = fileparse($0);
my($filename, $path, $suffix) = fileparse($readingFile, qr/\.[^.]*/); my ( $filename, $path, $suffix ) = fileparse( $readingFile, qr/\.[^.]*/ );
my $send = $readingFile =~ s/received/transmitted/r; my $send = $readingFile =~ s/received/transmitted/r;
my($tool, $trxdate) = split(/_/,$filename); my ( $tool, $trxdate ) = split( /_/, $filename );
my($dmy1, $dmy2, $dmy3, $unit, $dmy4) = split(/\//,$path); my ( $dmy1, $dmy2, $dmy3, $unit, $dmy4 ) = split( /\//, $path );
print getTimeStamp("log") . " >> Unit $unit - Filename $tool" . "$suffix \n"; print getTimeStamp("log") . " >> Unit $unit - Filename $tool" . "$suffix \n";
my $ftp = Net::FTP->new($hostname, Timeout => 20, Debug => 0, Passive => 0) my $ftp = Net::FTP->new( $hostname, Timeout => 20, Debug => 0, Passive => 0 )
or die getTimeStamp("log") . " >> Cannot connect to $hostname: $@"; or die getTimeStamp("log") . " >> Cannot connect to $hostname: $@";
if ($ftp->login($username,$password)) { if ( $ftp->login( $username, $password ) ) {
if ($ftp->put($readingFile, $tool . $suffix)) { if ( $ftp->put( $readingFile, $tool . $suffix ) ) {
print getTimeStamp("log") . " >> Put $readingFile completed.\n"; print getTimeStamp("log") . " >> Put $readingFile completed.\n";
if ( !move $readingFile, $send) { if ( !move $readingFile, $send ) {
warn getTimeStamp("log") . " >> Move $readingFile -> $send failed: $!"; warn getTimeStamp("log")
} else { . " >> Move $readingFile -> $send failed: $!";
}
else {
print getTimeStamp("log") . " >> Moved $readingFile -> $send.\n"; print getTimeStamp("log") . " >> Moved $readingFile -> $send.\n";
} }
} else { }
else {
die getTimeStamp("log") . " >> Put $readingFile failed ", $ftp->message; die getTimeStamp("log") . " >> Put $readingFile failed ", $ftp->message;
} }
} else { }
else {
die getTimeStamp("log") . " >> Cannot login ", $ftp->message; die getTimeStamp("log") . " >> Cannot login ", $ftp->message;
} }