Visit Our UNIX and Linux User Community


automate an ftp job


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers automate an ftp job
# 1  
Old 07-22-2002
Network automate an ftp job

Hi,

I am trying to write and automate a ftp job that connects to a IBM mainframe and pulls the same files everyday.

To do this I assumen I create a .netrc file in my solaris home directory, then I write a shell script. How do I envoke ftp from a ksh script and pass it the info in .netrc?

I have tried several examples listed on this site, but they all terminate in errors.

One problem is the the mainframe files are in the format '111.111.33.333.333'
and when I put \'111.111.33.333.333\' in the script I get a SCCS error.

Any idea on how to simply get 5 files every day, filenames that never change?

Thanks.
flowrats
# 2  
Old 07-22-2002
Hammer & Screwdriver

Try

#!/usr/bin/ksh
ftp -v -n "ibm mainframe ip address"
user "user" "passwd"
cd /mainframe directory
lcd /my local_unix directory
bin
mget 111.111.33.333.333
bye


Note:
mget will get a bunch of files .

Do a man mget for more information
# 3  
Old 07-22-2002
I'm not sure what you mean when you write

Quote:
files are in the format '111.111.33.333.333'
Your script should not care about the format of the file. You should put in the type (ascii or bin). If the file is ebcdic, you may have to change it before or after doing the ftp.

Can you post your script?

If not, this link may help - Look for Question 8
# 4  
Old 07-22-2002
I am not sure what you've done already but
this is how you can do it in a ksh script,
variable names are arbitrary:

if [ $? -eq 0 ]; then
# Create a .netrc file
echo "machine $IBMNODE" > $HOME/.netrc
chmod 600 $HOME/.netrc
echo "login $USERID password $PSWD">> $HOME/.netrc
echo "macdef init" >> $HOME/.netrc
echo "prompt" >> $HOME/.netrc
echo "lcd $HOME/mylocaldir/" >> $HOME/.netrc
echo "bin" >> $HOME/.netrc #if need
echo "get 111.111.222.33" >> $HOME/.netrc
echo "get 111.222.222.33" >> $HOME/.netrc
echo "get 111.333.222.33" >> $HOME/.netrc
echo "get 111.444.222.33" >> $HOME/.netrc
echo "get 111.555.222.33" >> $HOME/.netrc
echo "quit" >> $HOME/.netrc
echo "\n" >> $HOME/.netrc
echo "`date +%T` N"\
"Successfully set up the .netrc" >> $MYLOG
echo "`date +%T` N"\
"FTPing to remote host..." >> $MYLOG
ftp -v $IBMNODE >| $TEMPFTPLOG 2>&1&&
cat $TEMPFTPLOG >> $PERMFTPLOG&&
# check status of ftp execution...
if [[....etc]]
s/t ..page support
else
s/t
fi
... ftp -v is verbose. As long as you are ftping to $IBMNODE (.netrc value matches the ftp command), it will be automatic.

... hope this makes sense.

Gianni
# 5  
Old 07-23-2002
Automatic ftp job

Gianni,

Thanks for the script. I assume that if I have already created a .netrc file and set it to 600 that I do not need the first four lines.

When I modifiy the file with the actual names of the mainframe files, and run your script, the I get the error:

"error line 21 '|' unexpected"
so I modified the line 21 from:
ftp -v $IBMNODE >| $TEMPFTPLOG 2>&1&&
to
ftp -v $IBMNODE > $TEMPFTPLOG 2>&1&&

and I remove the lines from: #check status of ftp execution...

to the end of the script, I get another error "end of file unexpected"

Thanks.
flowrats
# 6  
Old 07-23-2002
hassan2,

When I run your script, It gets me logged onto the mainframe, but does not execute the four lines of the script until after I manually quit from ftp.

flowrats
flowrats
# 7  
Old 07-23-2002
RTM,

I guess the best way to put it is that the format of the file is text format, but the file discriptor (name of the file) begins and ends with a single quote, and has decimials in the name.

So I assume that when I get the file I have to use the ecape charator, unlike I would manually to get a file with a quote in it:

manualy I would type get '111.222.333.444.555'
but in a script I would type: get \'111.222.333.444.555\'

flowrats
flowrats
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #153
Difficulty: Easy
Novell sold their Unix business operations to Microsoft in 1995.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Automate [ls]ftp

Heyas Seen some of the ftp posts here and knowing i'll be writing a script using ftp soon, so i thought i'd write a script to automate, or at least simplify some basic tasks with it. I'm currently stuck at handling active/passiv modes. Neither lftp nor sftp seem to support them by arguments,... (3 Replies)
Discussion started by: sea
3 Replies

2. Shell Programming and Scripting

Automate Job monitoring

Hi, I have a project which i need to automate some manual work. We have a 100 jobs in Linux and Unix environment. We do job monitoring daily. that is taking more that 2 to 3 hrs for us because we use autorep -j <jobname> command for each and every job. That takes more time for us to do. We have... (16 Replies)
Discussion started by: cg_saran
16 Replies

3. UNIX for Advanced & Expert Users

TO Automate the FTP process

Plzz Some One Help in this matter I have scripts to load the data into tables and to copy files from ftp to our system. we use to run the scripts every day.... we hav the files in the FTP server and we hav to bring the files to our system and we hav to load the data into the tables. We... (0 Replies)
Discussion started by: nani1984
0 Replies

4. Shell Programming and Scripting

How to automate ftp in perl

My situations is I cannot use NET::ftp. So I need to have a way to automate ftp. I know how to do it in ksh: #!/usr/bin/ksh ftp -i -v -n $host_name <<_FTP >> $log_file 2>&1 user $user_name lcd $local_dir cd $remote_dir put $file_name bye _FTP But how can I do it in perl? Note:... (6 Replies)
Discussion started by: egyfan
6 Replies

5. IP Networking

Automate FTP process and autorestart on link failure

Hi Guys, i have this lil challenge; i am to implement an automated script that searches/scans a directory for files then picks and sends this files to a very remote server via an ftp link. the challenge here is that the ftp link fails due to netwrk issues maybe; i therefore need to develop... (5 Replies)
Discussion started by: sdcoms
5 Replies

6. Shell Programming and Scripting

Automate daily FTP files

How to automate FTP files daily with the following constraints 1) Try (every 15 mins or 30 mins) FTP till it reconnects 2) Files that arrive in between 5:30 pm and 2:00 am 3) The sat and sun, mon files are to be FTP on monday. 4) Only the txt files are to be FTP'ed. The following are the... (2 Replies)
Discussion started by: bobbygsk
2 Replies

7. Shell Programming and Scripting

Automate FTP

Hi, Currently, i am using sftp manully to transfer files between two secure servers. Can anyone provide me a sample shell script which can automate the sftp process? (11 Replies)
Discussion started by: borncrazy
11 Replies

8. Shell Programming and Scripting

How to automate an FTP process?

Hello script experts, I am newbie to shell script. But I have to write a shell script (ASAP) where I need to ftp a file on daily basis to a remote server, and send an email with final status. I I should have a properties file with hostname, Userid, and pwd. And a shall script file should read... (1 Reply)
Discussion started by: ksak
1 Replies

9. UNIX for Advanced & Expert Users

Automate FTP

Hi all, I got this piece of code in this forum and I can't seem to get it work. The thread already closed so I just post a new thread. #!/usr/bin/ksh ftp -v -n "YOUR.IP.ADD.RESS" << cmd user "user" "passwd" cd /distant/directory lcd /local/directoryget ssh_install get ( or put) your... (4 Replies)
Discussion started by: CamTu
4 Replies

10. Answers to Frequently Asked Questions

Automate FTP / Scripting FTP Transfers

One of our most frequent questions is how to automate ftp transfers. There are several approaches. Since I'm writing this post, we will start with my favorite technique. :) In Automated FTP task I present a simple example of my ksh co-process technique. And note that later in this thread I... (0 Replies)
Discussion started by: Perderabo
0 Replies

Featured Tech Videos