FTP Question


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users FTP Question
# 1  
Old 01-07-2004
FTP Question

Hi,

I'm attempting to FTP several files using MGET. My problem is that I need to cd to a directory with this naming convention:

YYMMDDHHMM - where the hour and minute is unknown

When I issue cd /ftpdirectory/YYMMDD* from FTP, I receive "No such file or directory

I need a way to get the exact directory name from the remote machine. Here's the script:

ftp hostname <<-EOF
cd /unifi_dev_bkup/database/040106*
bin
mget proddb*
quit
EOF

Thanks in advance.
# 2  
Old 01-07-2004
I don't understand. Does the directory name change every minute? Or do they create a new one every minute? So they have 1440 diectories every day?
# 3  
Old 01-07-2004
A new directory is created each night. The minutes part of the name vary from night-to-night.
# 4  
Old 01-07-2004
The best solution is: don't do that. Including hours, minutes, seconds, microseconds, etc in a daily filename only creates the problem you now face.

If that is not possible, you face a challenging scripting problem. You will need to perform a dir, retrieve the results, determine the proper directory name, and finally cd to that directory.

I demonstrate all of this in my recursive ftp script. You might want to look at it for some ideas.
# 5  
Old 01-09-2004
Bug

Thanks for your help, Perderabo.
# 6  
Old 01-09-2004
its a tright dirty but i figured i would toss out the working example befor i head home.

if you want more ftp commands for Net::FTP

http://search.cpan.org/~gbarr/libnet-1.17/Net/FTP.pm

Code:
#!/usr/bin/perl -w

use Net::FTP;

my ($sec,$min,$hour,$mday,$mon,$year) = localtime(time);
$mon=sprintf("%02d",++$mon); ## add 1 to the month. localtime uses 0-11 for months
$year+=1900; ## add 1900 to the year. localtime starts at 0 from 1900.
$mday=sprintf("%02d",$mday); ## format single digit days to a 2 digit number.
$sec=sprintf("%02d",$sec);
$min=sprintf("%02d",$min);
$hour=sprintf("%02d",$hour);

$dir=$year . $mon . $mday;

my ($host, $user, $pass, $localfs)=( 'your_host', 'ur_username', 'ur_passwd', 'dir_2_download_files_2' );
chdir("$localfs") or die "can not change directory /homes($!)";;

$ftp = Net::FTP->new("$host", Debug => 0 ) or warn "Cannot connect to $host: $@";
$ftp->login("$user","$pass") or warn "Cannot login ", $ftp->message;
$ftp->binary();
my @dir=grep /$dir/,$ftp->ls(".");
$ftp->cwd("$dir[0]");
my @ftp_files=$ftp->ls(".");
for (@ftp_files) { $ftp->get("$_") };
$ftp->quit;

# 7  
Old 01-14-2004
Thanks to you too, Optimus_p.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

ftp question

I have this FTP script: ADDR=168.218.95.172 ftp -inv $ADDR <<- ftpcmds user HEHCFTP H$h673sp ... (3 Replies)
Discussion started by: lena keung
3 Replies

2. Shell Programming and Scripting

FTP question

HI In my script its like this ------------ echo "Enter filename" read fname ftp -v -n abcd.efh.kk.com << EOF user userid pwd bin mget $fname.tar--not working if i give "$fname", works only as "demo.tar" bye ------------ My target is to get a $fname.tar from a remote host.How... (4 Replies)
Discussion started by: coolkid
4 Replies

3. Shell Programming and Scripting

ftp question

Hi, i have a simple question here-- if we dont use binary while doing a ftp of a file,any sort of problem can arise from this or it is ok. Thanks (2 Replies)
Discussion started by: namishtiwari
2 Replies

4. UNIX for Dummies Questions & Answers

Question on FTP

Hi All, I'm new to this group and this is my first post to this group. I need to write a shell script for the requirement given below: 1. I need to connect to a ftp server with my username and password 2. I need to go to some(input) directory. 3. I will have files with same names and... (1 Reply)
Discussion started by: ranjith_taurean
1 Replies

5. UNIX for Dummies Questions & Answers

FTP Question

How do you limit an ftp user access to a certain Unix path when putting/getting file to/from your server? And how do you restrict the ftp user from using "cd" or "ls" commands? Given that the ftp user knows the ftp userid, password, and your server ip address. Thanks in advanced :) (1 Reply)
Discussion started by: XZOR
1 Replies

6. UNIX for Dummies Questions & Answers

FTP Question

I'm basically trying to FTP a file to a differnt node, first putting the FTP commmands into a text file and then piping the commands file into the ftp command as follows.... echo "user $USERNAME $PASSWORD" > ftp_cmds echo "put $SQLOUT /users/$USERNAME/$SQLOUT" >> ftp_cmds echo "quit" >>... (4 Replies)
Discussion started by: djkane
4 Replies

7. UNIX for Advanced & Expert Users

FTP Question

Once a file is ftped to a server is there a way that you can prevent that file from being overwritten if the same process tries to ftp a file with the same name again? (6 Replies)
Discussion started by: lesstjm
6 Replies

8. UNIX for Dummies Questions & Answers

FTP Question

When a user FTP's to their own directory, they can go up the directory and view others files, of course they can not overwrite them but are able to download them if they wish to, is there any way to stop them from view their files and have them be only able to view files that they have permissions... (3 Replies)
Discussion started by: foresthillian
3 Replies

9. UNIX for Dummies Questions & Answers

FTP Question

I am really new to unix and want to setup an ftp server on my PC I am running a Ultra 5 with solaris 9 on it. I cannot seem to find *any* documentation on how to do this. So I was hoping somebody could point me in the right direction. :confused: (3 Replies)
Discussion started by: ls=dir
3 Replies

10. UNIX for Dummies Questions & Answers

FTP question

Hi all, I have a simple script that runs each night and transfers a number of files to a remote server. Before files are transferred existing files on the remote box are deleted. All works OK except the deletion part on the remote box returning no such file or directory. As work around Ihave... (2 Replies)
Discussion started by: tzp2ft
2 Replies
Login or Register to Ask a Question