1,105,594 Community Members

Automate FTP session

Member Avatar
nikita.
Light Poster
35 posts since Sep 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

I have finally written this code, but the prob with this is that when it is prompting for password it doesnt send any password to the ftp machine, we have to do it manually, but after typing it manually, it take the password line as command and shows that that is invalid command.
please tell me a way to pass the password automatically
Shell Scripting Syntax (Toggle Plain Text)

CONFIG_FILE="${HOME}/c/config.cfg"
Password=`awk '$1 ~ /password/ { print $3 }' $CONFIG_FILE`
echo $Password
if [ ! -r $CONFIG_FILE ]
then
echo "File not readable";exit0;
fi

ftp -i `awk '$1 ~ /server_IP/ { print $3 }' $CONFIG_FILE` <<END
`awk '$1 ~ /user/ { print $3 }' $CONFIG_FILE`
`awk '$1 ~ /password/ { print $3 }' $CONFIG_FILE`
`awk '$1 ~ /file_mode/ { print $3 }' $CONFIG_FILE`
cd `awk '$1 ~ /file_path/ { print $3 }' $CONFIG_FILE`
get `awk '$1 ~ /file_name/ { print $3 }' $CONFIG_FILE`
quit
END


the config file is as
(Toggle Plain Text)

server_IP = 10.18.14.2
user = scpyogesh
password = scpyogesh
file_mode = binary
file_path = sample/test/
file_name = test_ftp.txt

Member Avatar
rch1231
Veteran Poster
1,187 posts since Sep 2009
Reputation Points: 131 [?]
Q&As Helped to Solve: 194 [?]
Skill Endorsements: 13 [?]
 
0
 

If you look at the man pages for ftp it states that you add the account parameter to the command line followed by the password for the account. To look at the manula pages use:

man ftp

from a shell prompt.

Member Avatar
cfajohnson
Junior Poster
199 posts since Dec 2008
Reputation Points: 10 [?]
Q&As Helped to Solve: 24 [?]
Skill Endorsements: 0 [?]
 
-1
 

The ftp command is not designed for use in scripts; it is intended for interactive use. For scripting, use the ncftp family of commands. (There are also some others, I believe, that are made for scripting.)

Member Avatar
rch1231
Veteran Poster
1,187 posts since Sep 2009
Reputation Points: 131 [?]
Q&As Helped to Solve: 194 [?]
Skill Endorsements: 13 [?]
 
0
 

Hello,

I hate to disagree with someone on a response but ftp works fine is shell scripts. Typical ftp client programs under Unix, Linux, Solaris and NetBSD all read the ftp password from /dev/tty (or /dev/pty). The following site has a discussion of the issues involved and a script that does what you want.

http://www.stratigery.com/scripting.ftp.html

Member Avatar
nikita.
Light Poster
35 posts since Sep 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

I tried all that mentioned in the page. but it is still not taking the password. as in it just stucks to the point of username. it says the user name is ok but it keeps on blinking for the password. but is not able to pass the password .

Member Avatar
nikita.
Light Poster
35 posts since Sep 2011
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

ok.. its done.. thankz

Question Answered as of 2 Years Ago by rch1231 and cfajohnson
You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
View similar articles that have also been tagged: