FTP within a SHELL script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting FTP within a SHELL script
# 1  
Old 03-05-2010
FTP within a SHELL script

I am running the following on linux (on a mac):
Code:
filename="/Users/thisfilename.txt"
hostname="ftp.mysite.com"
username="myusername"
password="mypassword"
echo '=======FTP========'
ftp -un $hostname <<EOF
quote USER $username
quote PASS $password

binary
put $filename
quit
EOF

I get the following error:

ftp: Invalid URL `n'


If I remove the -n flag, I get the following:
Code:
usage: ftp [-46AadefginpRtvV] [-N netrc] [-o outfile] [-P port] [-q quittime]
           [-r retry] [-s srcaddr] [-T dir,max[,inc]]
           [[user@]host [port]] [host:path[/]] [file:///file]
           [ftp://[user[:pass]@]host[:port]/path[/]]
           [http://[user[:pass]@]host[:port]/path] [...]
       ftp -u URL file [...]

anyone have any ideas???

Thanks in advance!!

Roseann

Last edited by Scott; 03-06-2010 at 09:17 AM.. Reason: Removed URL
# 2  
Old 03-06-2010
Code:
linux (on a mac)

Uhuh?

What Operating System are you issuing the ftp command on?
What Operating System are you connecting to (if known)?
What (in words not code) are you trying to do?

Brainspark!
Is the remote computer addressed by a URL (like a website) or a computer with a normal unix hostname? If it's not a URL, you do not want the "-u" switch to FTP because it is expecting a URL (eg: ftp://remotehost.com) not a computer hostname. In your case it is taking the character "n" after the "-u" as the URL !

There are probably other issues in the script with using "quote" for no apparent reason but you might be connecting to a non-unix system.

Footnote: Can you do the file transfer successfully from the command prompt? If you can, please post the sequence you type and it can no doubt be scripted.

Last edited by methyl; 03-06-2010 at 08:47 AM.. Reason: Footnote
# 3  
Old 03-06-2010

Don't use ftp in scripts; it is intended for interactive use, and is not well suited to scripts.

Either use scp, if possible, or use the ncftp family of commands (e.g. ncftpput).
# 4  
Old 03-07-2010
@cfajohnson
We have several thousand ftp scripts executing per day in a mixed unix environment. The scripting to achieve consistent reliability is not at all easy but it can be done without replacing each remote system.
# 5  
Old 03-07-2010
Thanks, scp worked!


Roseann
www.GlobalNerds.com
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need a Shell Script for FTP

Hello Brothers, I am new in shell script.I need a shell script that will run in Linux Server. Script will connect to windows FTP server before connection script will check the connection from linux server to windows server, if connection is ok then show a message and get specific file and... (34 Replies)
Discussion started by: maruf
34 Replies

2. UNIX for Dummies Questions & Answers

FTP in Shell Script

Dear All, I am using FTP in a script. But when i exit from the FTP session, the commands written after EOF don't get executed. i.e. ftp <<EOF quote $login quote $password cd /tmp mget *somefile* bye EOF echo $some_variable #This last echo command or whatever piece of commands i... (10 Replies)
Discussion started by: Salman786
10 Replies

3. Shell Programming and Scripting

Help With FTP Shell Script

So i Administer multiple ftp servers that run on dynamic IP's as well as user and password settings are changed by other people constantly. What i need to do is ensure that an FTP is server is up on the IP i check. As well as the login credentials work. Here is a simple script i wrote. However... (2 Replies)
Discussion started by: Noledge
2 Replies

4. Shell Programming and Scripting

Help with Shell script for FTP

#!/usr/bin/ksh export filename=/grid/PowerCenter/inbound/AT/filelist.txt export SOURCE_DIR=/grid/PowerCenter/inbound/AT export ICOMS_FTP_TGT_DIR1=/dw/input/ATU/ICOM_SERV1 export ICOMS_FTP_TGT_DIR2=/dw/input/AT/ICOM_SERV2 export FILE_MASK="ATRPU_RP_ATU" echo "start" ftp_data_file() { ... (15 Replies)
Discussion started by: vsmeruga
15 Replies

5. UNIX for Advanced & Expert Users

FTP in shell script

HI ALL i am writing a shell script in which i have to use FTP command like. FTP <ip address> cd xyz mget* bye but i am not able to perform any command from shell script. once the control goes to FTP, i again have to type all the things. i just want my shell script to take care of the... (8 Replies)
Discussion started by: infyanurag
8 Replies

6. Shell Programming and Scripting

ftp with shell script

Can I ftp to put file with shell script(as bath file) ? Plz give the simple code to do that. My script look like that #!/bin/sh echo "Start ftp" ftp temphost <<EOF put file quit EOF # end This code ignore username & password but I need to input. How to input username &... (8 Replies)
Discussion started by: aungomarin
8 Replies

7. Shell Programming and Scripting

FTP via shell script

Hi, I need to upload a file via ftp. I have given : ftp -n $HOST <<END quote user $USER quote pass $PASSWD prompt off put bus.txt quit END Its throwing a syntax error at "<<" symbol. What should be done for this ?? (2 Replies)
Discussion started by: risshanth
2 Replies

8. UNIX for Dummies Questions & Answers

Shell script for ftp

Hi ,, I am wrting a shell script to ftp a file from remote server but its giving some problem to me.can you help me in debugging this. #!/usr/bin/ksh HOST="some ip" user="user_name" passwd="password" ftp -n $HOST >>END_SCRIPT USER $user $passwd binary prompt get... (3 Replies)
Discussion started by: namishtiwari
3 Replies

9. Shell Programming and Scripting

ftp in shell script

Hi, I have to ftp to a remote machine. i have got the Ip, username and password and the file path.. I need to get the file name with out user intervention in my script.. is there any way to do this.. please help esham (2 Replies)
Discussion started by: esham
2 Replies

10. Shell Programming and Scripting

using ftp in a shell script.

I am trying to ftp some files from a certain directory, but i got an invalid command. does anybody know why i got this error? ftp -v -i -n <<SCRIPT open servername user username password cd /server/logs for file in MCWAS* do put ${file} /home/test/${file} done bye SCRIPT (2 Replies)
Discussion started by: caesarkim
2 Replies
Login or Register to Ask a Question