~ubuntu-branches/ubuntu/precise/nagios-plugins/precise-proposed

« back to all changes in this revision

Viewing changes to contrib/check_ftpget.pl

  • Committer: Bazaar Package Importer
  • Author(s): Guido Trotter
  • Date: 2004-06-15 15:37:48 UTC
  • Revision ID: james.westby@ubuntu.com-20040615153748-pq7702qdzghqfcns
Tags: upstream-1.3.1.0
ImportĀ upstreamĀ versionĀ 1.3.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl -w
 
2
## Written 12/5/00 Jeremy Hanmer 
 
3
# $Id: check_ftpget.pl,v 1.1.1.1 2002/02/28 06:42:53 egalstad Exp $
 
4
 
 
5
use strict;
 
6
use Net::FTP;
 
7
use Getopt::Std;
 
8
 
 
9
use vars qw($opt_H $opt_u $opt_p $opt_f);
 
10
getopts("H:u:p:f:");
 
11
 
 
12
my $host = $opt_H || 
 
13
    die "usage: check_ftp.pl -h host [<-u user> <-p pass> <-f file>]\n";
 
14
 
 
15
my $username = $opt_u || 'anonymous';
 
16
my $pass = $opt_p || "$ENV{'LOGNAME'}\@$ENV{'HOSTNAME'}" ;
 
17
 
 
18
my $file = $opt_f;
 
19
 
 
20
my $status = 0;
 
21
my $problem;
 
22
my $output = "ftp ok";
 
23
 
 
24
my $ftp = Net::FTP->new("$host") ||
 
25
    &crit("connect");
 
26
 
 
27
$ftp->login("$username", "$pass") ||
 
28
    &crit("login");
 
29
 
 
30
$ftp->get($file) ||
 
31
    &crit("get") if $file;
 
32
 
 
33
sub crit() 
 
34
{
 
35
    $problem = $_[0];
 
36
    $status = 2;
 
37
    if ( $problem eq 'connect' ) {
 
38
        $output = "can't connect";
 
39
    } elsif ( $problem eq 'login' ) {
 
40
        $output = "can't log in";
 
41
    } elsif ( $problem eq 'get' ) {
 
42
        $output = "cant get $file";
 
43
    }
 
44
}
 
45
 
 
46
print "$output\n";
 
47
exit $status;
 
48