./neax_ftp.pl -i 192.168.10.102 -u baharin -p baharin -r /home/baharin/data/input -l /home/sysadmin/bh/input -f *.xml #### #!/usr/bin/perl use Net::FTP; use strict; use Getopt::Long; my ($username,$password,$ip,$remotedir,$localdir,$filename,$filemode) = (0,0,0,0,0,0,0); my ($ftp,$success); GetOptions ( "i=s" => \$ip, "u=s" => \$username, "p=s" => \$password, "r=s" => \$remotedir, "l=s" => \$localdir, "f=s" => \$filename, "m=s" => \$filemode ); my $log = "/home/sysadmin/bh/sys.log"; my $err; open (LOGS, ">> $log") or die ("Can't open $log\n"); #$ftp = Net::FTP->new("192.168.10.102") or die "Can't connect to 190.254.14.34\n"; $ftp = Net::FTP->new($ip, Timeout=>240) or $err=1; print "LOGIN: $ip\n"; if ($err) { print (LOGS "Can't connect to $ip\n"); $ftp->quit; } $ftp->login("$username","$password") or $err=1; print "LOGIN: $username/$password\n"; if ($err) { print (LOGS "Can't login to $ip with $username, $password\n"); $ftp->quit; } $ftp->binary(); $ftp->cwd("$remotedir") or $err=1; print "LOGIN: $remotedir\n"; if ($err) { print (LOGS "Can't change to directory $remotedir\n"); $ftp->quit; } $ftp->get("$remotedir/$filename") or $err=1; print "LOGIN: DIR\n"; if ($err) { print (LOGS "Can't collect file $filename from dir $remotedir\n"); $ftp->quit; } $ftp->quit; close(LOGS);