FTP exit and error codes


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting FTP exit and error codes
# 1  
Old 06-23-2014
FTP exit and error codes

I have a script which connects to a remote server via FTP and gets some file from there.

Code:
#!/bin/bash
/usr/bin/ftp -n remote.hostname.com <<EOF
quote USER user123
quote PASS password123
lcd /dir1/dir2/dir3
cd /
mget file_pattern*
close
bye
EOF

rc=$?
            if [[ $rc != 0 ]]
            then
            echo "Error occured getting the files...$rc" `date "+%Y-%m-%d-%H.%M.%S"`
            exit 1
else
  echo "Successful transfer of the files...$rc" `date "+%Y-%m-%d-%H.%M.%S"`
fi

When the files with the mentioned patterns are not available on the server, the script should echo the failure message and exit the script with error code 1, else it should download the files and echo the successful transfer message. However, in my case, it is always returning the successful transfer message even if there are no files on the server with that name. Any suggestions on what needs to be changed?
# 2  
Old 06-23-2014
You may have to check the text printed by FTP.
# 3  
Old 06-24-2014
I did echo $rcand it was returning '0'. I believe it is returning this after successfully completing the closeand byecommands. But, how can it return an error code or exit code as '1' in case there are no files to download or any issues with downloading? Any suggestions?Smilie

Last edited by dhruuv369; 06-24-2014 at 10:13 AM.. Reason: Improved reply
# 4  
Old 06-24-2014
You might have to check the text printed by ftp (which is not the same thing as the return code).
# 5  
Old 06-24-2014
Okay, I checked what FTP command from the script gives the output. It is as below
Code:
Local directory now /dir1/dir2/dir3
No files found.
0
Successful transfer of the files...0 2014-06-24-12.19.19

If this is not what you were referring to as text, please let me know how can I find it.
# 6  
Old 06-24-2014
OK, something like:

Code:
ftp <<EOF 2>&1 > /tmp/$$
...
EOF

if [ "$?" -ne 0 ] || grep "No files" /tmp/$$ >/dev/null
then
        echo "Error in file transfer"
fi

rm -f /tmp/$$

I suspect that FTP will still return nonzero error codes for things like failure to connect, so it checks both.
This User Gave Thanks to Corona688 For This Post:
# 7  
Old 06-24-2014
FTP almost always returns 0. The return code is not normally useful.
You have to parse the responses from an ftp server to figure out what is going on. A 3 digit number is first followed by text. Every transaction gets one of the things.

FTP return codes are displayed like: 550 Failed to connect
List of FTP server return codes - Wikipedia, the free encyclopedia

See also: FTP
This User Gave Thanks to jim mcnamara For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Linux

Exit codes

I am trying to run this SH on Linux and getting error at IF condition. I want to read the EXIT code and send the failure or success message. Please help me on this. This worked when i was running on Solaris. #!/bin/bash $ORACLE_HOME/bin/sqlplus abc/xyz@qwe @/home/test.sql if ;... (4 Replies)
Discussion started by: rlmadhav
4 Replies

2. UNIX for Dummies Questions & Answers

exit codes from rexec?

how do i/is there a way to return the exit code from the remote host? echo $? from the local host only gives 0, if the rexec command itself executes successfully. But what if in the case of the remote command failiing? echo $? on the localhost still gives 0, but I'm interested in the exit code... (4 Replies)
Discussion started by: diego_sapphire
4 Replies

3. Shell Programming and Scripting

SCP Exit Codes

Hello, I need to ensure that SCP does not leave any partially transmitted files on the remote server due to transmission errors. Can it be assumed that: 1) if SCP returns a success with Exit Code == 0, a complete local file has been copied in its entirety to the remote location? 2)... (1 Reply)
Discussion started by: rogersed
1 Replies

4. Shell Programming and Scripting

Exit Codes

Good Morning All.. I was wondering about getting exit codes of a command in a shell script. I'm trying to run uvscan (McAfee command line scanner) and I want to have the log file say why, if at all, the process failed/exited. Something to the extent of If ; then echo "This is why it... (1 Reply)
Discussion started by: cmschube
1 Replies

5. Shell Programming and Scripting

difference b/t the exit codes $* and $@

I know that the exit codes in scripting "$*" will returns all the parameters/arguments passwd to the script. But I also know that "$@" will also returns the same. What is the difference between those two ? (1 Reply)
Discussion started by: praveen_b744
1 Replies

6. Shell Programming and Scripting

Exit codes in SFTP

HI All, I have created a unix script which takes 2 parameters and using sftp tranfers files to remote location following is the script #!/bin/ksh # # # Parameter 1 is the complete path of the destination server # Parameter 2 is the complete path of the file which is to be FTP... (1 Reply)
Discussion started by: vikramsnest
1 Replies

7. UNIX for Advanced & Expert Users

Explanation for the exit codes 2

Hi, Can anyone give me the explanation for the exit codes 1 and 2 returned from Korn shell. Thanks in advance. (1 Reply)
Discussion started by: sesedada
1 Replies

8. Shell Programming and Scripting

Catching all Exit Codes

I have a Unix Script that has several exit in the middle. each returning seperate exit codes. I have to catch all the exit's and perform an operation say "Mail the status code" before the actual code completes. How can i do this in KSH ? (3 Replies)
Discussion started by: Sivaswami J
3 Replies

9. UNIX for Dummies Questions & Answers

Where can I find a list of exit codes? (Exit code 64)

I'm receiving an exit code 64 in our batch scheduler (BMC product control-m) executing a PERL script on UX-HP. Can you tell me where I can find a list of exit codes and their meaning. I'm assuming the exit code is from the Unix operating system not PERL. (3 Replies)
Discussion started by: jkuchar747
3 Replies

10. Programming

exit codes

Where can a locate a list of Unix exit codes? thank you, Donna (3 Replies)
Discussion started by: donna carter
3 Replies
Login or Register to Ask a Question