03-03-2004
Status check of Automated FTP
Hi,
I've following code fragment as a part of 1 of my scripts.
Function is supposed to perform automated ftp to designated host.
Here are the details:-
#! /usr/bin/ksh
< some code>
perform_ftp()
{
#Assume that file to transfer is available in current directory
TMP_FILE=/tmp/$$-FTP
echo " open <hostname>" > ${CMD_FILE}
echo "user <user name> <password> " >> ${CMD_FILE}
echo "put <some file> " >> ${CMD_FILE}
echo "bye" >> ${CMD_FILE}
ftp -vin < ${CMD_FILE} 1> /dev/null 2>>${ERROR_LOG}
if [ $? -ne 0 ]; then
echo "\nError Transmitting the file"
rm -f ${CMD_FILE}
exit 1
else
echo "\nSuccessfully Transmitted report file."
fi
rm -f ${CMD_FILE}
}
The problem with above function is that even though the actual put command is not successful, say because file system is full or lack of appropriate permission, script will always report that file was transmitted successfully.
This is because last command "bye" executed as a part of FTP is always successful & "$?" always returns 0.
Any pointers how can I check whether "put" command was successful or not?
P.S. :- Requirement is not to log output of ftp command in ERROR_LOG. It has to be discarded, no matter whether FTP is successful or not.
}
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I'm using the below script to ftp the file passed as 3rd argument. I'm passing the source and destination directory as 1st and 2nd argument. This script does the ftp successfully.
The script displays the echo before ftp stmt and does the ftp and does not display the stmts after that... (4 Replies)
Discussion started by: acheepi
4 Replies
2. Shell Programming and Scripting
Hi,
We have a text file which has the following data.
ISA~00~ ~00~ ~ZZ~VISTN ~ZZ~U1CAD ~051227~183
7~U~00200~000011258~0~P~<
GS~FA~EE05J~U1CAD~051227~1831~000011258~X~002002
ST~997~0001
AK1~SH~247
AK2~856~2470001
AK5~A
AK2~856~2470002
AK5~A... (3 Replies)
Discussion started by: isingh786
3 Replies
3. UNIX for Dummies Questions & Answers
Hi,
automated FTP that have error check and each product FTP will used the same userid/password to post(transfer) the file(s) from their <product> directory at UNIX to their <product> folder at Windows.
such senarios as follows:
NOTE:
=======
** Variable **
* The <product> is variable... (3 Replies)
Discussion started by: songtam
3 Replies
4. Shell Programming and Scripting
Hi
I am trying to delete some specific files ( files other than created today) from the server on a cron basis. I wrote a small script, but I am stuck up in how to delete only specific files.
#!/usr/bin/expect -f
set IP
set timeout -1
spawn ftp $IP
expect ):
send "username\n"... (10 Replies)
Discussion started by: sangfroid
10 Replies
5. Shell Programming and Scripting
Hi,
I wrote a script that is generating a file and then i have to ftp this file on another server. For this i am using mput to put the file.
How can i make sure that the file was ftp'd correctly to the another server, is there any status check ?
Thanks. (1 Reply)
Discussion started by: smc3
1 Replies
6. Shell Programming and Scripting
To all,
I need to run a ftp command in one of my scripts and I need to evaluate what happens after it's done. The problem is the script would not capture the ftp responses. If I type the same thing on the command
line, I get all kinds of responses. I would like to capture the same responses in... (2 Replies)
Discussion started by: april
2 Replies
7. Shell Programming and Scripting
Hi all,
I'm using the following script to automated ftp files to 1 ftp servers
host=192.168.0.1
/usr/bin/ftp -vi >> $bkplog 2>&1 <<ftp
open $host
bin
cd ${directory}
put $files
quit
ftp
and the .netrc file contain
machine 192.168.0.1
login abc... (4 Replies)
Discussion started by: varu0612
4 Replies
8. Shell Programming and Scripting
Hi Friends
I need to check the status of FTP connection i.e. Whether it is successful or not
I have tried this by assigning the FTP connection script to a variable and after that using this variable I tried to check the status.
In the below code snippet I am trying to assign the FTP... (1 Reply)
Discussion started by: Kannannair
1 Replies
9. UNIX for Advanced & Expert Users
Hi Experts,
Can some one let me know the FTP commands to check the file status i.e i want to check whether my files are locked or in open status.
I am connecting FTP from local machine.
Regards,
Spidy (1 Reply)
Discussion started by: spidy
1 Replies
10. UNIX for Beginners Questions & Answers
How to see the status of all the ftp put & get files logs and curent ftp transfer status if any active ftp running in the background ? (2 Replies)
Discussion started by: i4ismail
2 Replies
LEARN ABOUT REDHAT
ncftpls
ncftpls(1) General Commands Manual ncftpls(1)
NAME
ncftpls - Internet file transfer program for scripts
SYNOPSIS
ncftpls [options] ftp://url.style/host/path/name/
OPTIONS
Command line flags:
-1 Most basic format, one item per line.
-l Long list format.
-R Long list format, recurse subdirectories. Equivalent to "-x -lR".
-x -XX Additional ls flags to pass on to the server.
-u XX Use username XX instead of anonymous.
-p XX Use password XX with the username.
-P XX Use port number XX instead of the default FTP service port (21).
-d XX Use the file XX for debug logging.
-t XX Timeout after XX seconds.
-E Use regular (PORT) data connections.
-F Use passive (PASV) data connections. The default is to use passive, but to fallback to regular if the passive connection fails or
times out.
-r XX Redial a maximum of XX times until connected to the remote FTP server.
-W XX Send raw FTP command XX after logging in.
-X XX Send raw FTP command XX after each file transferred.
-Y XX Send raw FTP command XX before logging out.
The -W, -X, and -Y options are useful for advanced users who need to tweak behavior on some servers. For example, users accessing
mainframes might need to send some special SITE commands to set blocksize and record format information.
For these options, you can use them multiple times each if you need to send multiple commands. For the -X option, you can use the
cookie %s to expand into the name of the file that was transferred.
DESCRIPTION
The purpose of ncftpls is to do remote directory listings using the File Transfer Protocol without entering an interactive shell. This
lets you write shell scripts or other unattended processes that can do FTP.
The default behavior is to print the directory listing in columnized format (i.e. ls -CF), but that is not very useful for scripting. This
example uses the -1 flag, to print one file per line:
$ ncftpls -1 ftp://ftp.ncftp.com/pub/ncftp/
You can also do a remote "ls -l", by using "ncftpls -l". If you want to try other flags, you have to use them with the -x flag. For exam-
ple, if you wanted to do a remote "ls -lrt", you could do this:
$ ncftpls -x "-lrt" ftp://ftp.ncftp.com/pub/ncftp/
By default the program tries to open the remote host and login anonymously, but you can specify a username and password information like
you can with ncftpget or ncftpput.
DIAGNOSTICS
ncftpls returns the following exit values:
0 Success.
1 Could not connect to remote host.
2 Could not connect to remote host - timed out.
3 Transfer failed.
4 Transfer failed - timed out.
5 Directory change failed.
6 Directory change failed - timed out.
7 Malformed URL.
8 Usage error.
9 Error in login configuration file.
10 Library initialization failed.
11 Session initialization failed.
AUTHOR
Mike Gleason, NcFTP Software (mgleason@ncftp.com).
SEE ALSO
ncftpput(1), ncftpget(1), ncftp(1), ftp(1), rcp(1), tftp(1).
LibNcFTP (http://www.ncftp.com/libncftp/).
Software NcFTP ncftpls(1)