mariog has asked for the wisdom of the Perl Monks concerning the following question:
Hello,
this script has as purpose to daily download a file to a local folder.. the time of the upload is not known so it will run in a cron every four hours. the problem is that the script dies with error if there is no file in the local folder but also not yet in the remote (sftp folder)...is there a way to differentiate if the file does not (yet) exist and that it exists but the tranfer has failed? <\p> I also would need to monitor the status of the transfer with nagios..if the transfer fails I would need to send it to a nagios system with nsca.. in bash I would do something like: echo -e "...."| send_nsca... how can i integrate that in perl.
thank you Mario#!/usr/bin/perl -w use strict; use warnings; use Net::SFTP::Foreign; use POSIX qw(strftime); my $datestring =strftime "%d-%m-%Y", localtime; my $host="sftp.brusselsairlines.com"; my $username="dlex"; my $local="/mnt/datalex"; my $file="BookingReport_Daily_$datestring.xls"; my $sftp = Net::SFTP::Foreign->new($host, user=> $username, stderr_dis +card => 1 ); $sftp->die_on_error("unable to establish SFTP Connection"); my $ok = 0; my $failed = 0; if ( -e "$local/$file"){ print "File \"$file\" has already been Downloaded to ==> \"$lo +cal\"\n" } else { if ($sftp->get("$file", "$local/$file")) { print "File \"$file\" downloaded to ==> \"$local\"\n"; $sftp->remove($file); $ok++; } else { print "Unable to download file \"$file\" : " . $sftp-> +error . "\n"; $failed++; } } print "$ok files have been downloaded, $failed files failed!\n\n"; $sftp->disconnect();
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: net-sftp-foreign transfer failed vs file not present.
by salva (Canon) on Aug 06, 2014 at 15:45 UTC | |
by mariog (Acolyte) on Aug 07, 2014 at 09:47 UTC | |
by McA (Priest) on Aug 07, 2014 at 11:44 UTC | |
by mariog (Acolyte) on Aug 07, 2014 at 13:40 UTC | |
by McA (Priest) on Aug 07, 2014 at 14:14 UTC | |
|
Re: net-sftp-foreign transfer failed vs file not present.
by McA (Priest) on Aug 06, 2014 at 15:15 UTC |