ortsac has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to write a very simple program that will be
called from other scripts.
I want to ftp from a machine into another machine,
do a find,ftp all the files, not the directories
(.: or ..:) and close my connection.
So far, I have it where I can do the 'find', but I think I am
doing the 'find' in the local machine, also, I can't figure out how
to place the results of the 'find' into an array so I can later
do a 'foreach' loop on the array.
Any pearls of wisdom?
I also know that there are other programs like 'mirror', but
I am trying to keep mine very simple. just the guts.
Really appreciate the help
Here is my program for your amusement
#!/usr/local/bin/perl use Net::FTP; use File::Find; @ARGV = "." unless @ARGV; sub showfiles { print "$File::Find::name/\n" if !-d; } my $dir = '/my/remote/directory/path'; my $host = '123.45.67.890'; my $login = 'userlogin'; my $passwd = 'userpassword'; my $ftp = Net::FTP->new($host); my $RC = $ftp->login("$userlogin","$userpassword"); if (not $RC) { print "\n\nFTP Login to Remote Host: '$host' failed!\n\n"; print "No files updated from Remote host: '$host'!\n\n"; exit; } # Go to the specified directory print STDERR "Changing directory to <$dir>\n" if ($DEBUG); if ($ftp->cwd($dir) == 0) { warn "$program: can't change directory to <$dir>\n"; return(1); } find(\&showfiles, @ARGV); $ftp->quit;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: ftp'ing 'Find' results from an array
by simeon2000 (Monk) on Aug 13, 2002 at 17:58 UTC | |
|
Re: ftp'ing 'Find' results from an array
by Tomte (Priest) on Aug 13, 2002 at 18:18 UTC | |
by ortsac (Initiate) on Aug 13, 2002 at 18:30 UTC | |
by Tomte (Priest) on Aug 13, 2002 at 18:43 UTC | |
|
Re: ftp'ing 'Find' results from an array
by Ebany (Sexton) on Aug 13, 2002 at 20:33 UTC |