[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

How to trap FTP error

Posted on 2011-09-06
8
Medium Priority
?
403 Views
Last Modified: 2013-11-29
Dear Experts,

I have the following script. It set as a cron job. It works fine if the file is present on the server, but if it is not, the script hangs.
How can I trap the failure and then exit from the script?
0
Comment
Question by:sfuk
5 Comments
 
LVL 15

Expert Comment

by:WalkaboutTigger
ID: 36491399
do an ls on the ftp server then perform a find or grep on "abc" or some known substring within the filename.
If no lines are returned, the file does not exist.
0
 

Author Comment

by:sfuk
ID: 36491446
Thank you, WalkaboutTigger, for your quick response.

When i open ftp process, can I do something like

echo `ls -l abc*` > abc.log
0
 

Author Comment

by:sfuk
ID: 36492515
I made the following changes/additions in my initial script and solved the problem.


#! /bin/bash

v_rundir="/home/abc"
v_ftp=`cat ftp.log | grep "not found" | wc -l`
cd $v_rundir
 
rm ftp.log

# Test to see if this process is already running...
if [ -e process.lck ] ; then   # if it is, then exit...
 exit
fi
echo $$ > process.lck     # otherwise, lock this process from duplicated execution...

#FTP Function
# Get the new pgp files...
sftp username@ftp4.server.com <<EOF >>/home/abc/ftp.log 2>&1
cd abc/Toabc
mget abc*.txt.pgp
rm abc*.txt.pgp
quit
EOF
if [ $v_ftp -ne "0" ]; then
rm process.lck
exit 1 
fi
exit

Open in new window

0
 
LVL 35

Accepted Solution

by:
Duncan Roe earned 2000 total points
ID: 36509767
Rather than run ftp with a here document, you have far more control if you drive it via expect. Picking up errors becomes almost a no-brainer. If you are interested, I can post an example or 2.
0
 
LVL 53

Expert Comment

by:Dhaest
ID: 36947343
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
Article by: evilrix
Looking for a way to avoid searching through large data sets for data that doesn't exist? A Bloom Filter might be what you need. This data structure is a probabilistic filter that allows you to avoid unnecessary searches when you know the data defin…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Suggested Courses
Course of the Month19 days, 14 hours left to enroll

872 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question