Sponsored Content
Full Discussion: Lftp command
Top Forums Shell Programming and Scripting Lftp command Post 303004568 by skatpally on Wednesday 4th of October 2017 01:03:20 PM
Old 10-04-2017
Lftp command

Hello,
I am trying to write a script that will lftp a file. The parameters are being passed in to the script from ETL tool. The put command is not working. put $file_name $tgt_file_name in the function ftpfile(). When I hardcode the file name with path its working. can some one help me with the error. Since I am only triggering the script from an ETL job. Log is not getting created. Also please let me know how to output a log when script runs.

Code:
#! /bin/ksh
# script to lftp a file.  The parameters are being passed to the script from ETL tool.
# Return Values
# 0 - FTP Successful
# 1 - Insufficient Parameters
# 2 - Directory Not Found
# 3 - FTP Failed
# 4 - File Not Found
#####################################################################################################

host_name=''
user_name=''
passwd=''
remote_dir=''
default_dir=''
file_path=''
file_name=''
file_list=''
ftp_status=0
dir_found=0
temp_size=0
ftp_command=''
ftp_dir_cmd=''
tgt_file_name=''

usage()
{
cat << EOF
Usage: $0 options
options:
   -s      Host Server Name
   -u      User Name
   -p      Password
   -l      Local Directory
   -f      Source File Name
   -t      Target File Name
   [-r     Remote Directory]
   [-d     Default Directory]
   [-c     FTP Command]
EOF
}

ftpfile()
{
#echo "
#quote USER $user_name
#quote PASS $passwd
#$ftp_dir_cmd
#$ftp_command
#put \"$file_name\" \"$tgt_file_name\"
#quit
#"
lftp -c 'set ftp:ssl-allow true ; set ssl:verify-certificate yes; open -u $user_name,$passwd -e "put $file_name $tgt_file_name"; quit" $host_name'
# |
ftp -in $host_name > temp.log 2>&1
temp_size=`ls -l temp.log|tr -s " "|cut -d" " -f5`
if [ $temp_size -ne 0 ]
then
        ftp_status=2
else
        ftp_status=1
fi
}

Thanks

Last edited by vgersh99; 10-04-2017 at 02:49 PM.. Reason: code tags, please!
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

lftp transmission error help

We have installed lftp version 3.4.7. When trying to send a file it loops on sending. It appears that the lftp sends about 130k then attempts to verify transmission (with a head command maybe). The receiver is pulling the data immediatly behind the firewall and does not appear to be answering... (0 Replies)
Discussion started by: Iversog
0 Replies

2. UNIX for Advanced & Expert Users

LFTP Mirroring

LFTP Mirroring We are planning to use lftp to mirror some of the files and directories on to the remote server. What we exactly want to do is mirror some of the directories and exclude some of the the directories from "/" i.e. main root. . What lftp is doing is... (0 Replies)
Discussion started by: sameerarora
0 Replies

3. UNIX for Advanced & Expert Users

lftp: Option to lftp a file, wait and download a file as soon as its created

Please let me know what is lftp options combination to wait and download a file from target as soon as its gets created. I tried with different options but not able to get it working as I need any help would be appreciated (4 Replies)
Discussion started by: bmkux
4 Replies

4. Shell Programming and Scripting

Lftp with dialog

Hi all. I want to know, if there is any chance to pass lftp listing to CLI dialog. I want to make an interactive CLI ftp manager, based on lftp. Version of dialog I use: root@dlink:~# dialog -v cdialog (ComeOn Dialog!) version 1.1-20100428 (0 Replies)
Discussion started by: n158
0 Replies

5. Shell Programming and Scripting

Alternative script for LFTP command

Hi, I was looking for a command which would help sending files parallely to remote server , and lftp is the closest option I could got. Unfortunately when I checked the AIX machine I work on does not has lftp installed. Is there any alternative perl script (or something like that) which I can... (1 Reply)
Discussion started by: vinay4889
1 Replies

6. Shell Programming and Scripting

For loop with lftp command

Hi Experts, I am using the below code for lftp with for loop but getting error at line 18. Not able to understand if am using the for loop wrongly. #!/bin/bash FILE='/home/user/d.txt' FILEName=/home/user/Test/HostName.txt for HOST in $(awk '{ print $0}' $FILEName);do ... (5 Replies)
Discussion started by: sharsour
5 Replies

7. Red Hat

Lftp issue

I installed KVM and configured two virtual machines in it server1.example.com(192.168.100.193) and tester1.example.com(192.168.100.230).I want to access server1.example.com from tester1.example.com over lftp.As far as networking is concerned between both I do have some doubts. I tried ping and... (5 Replies)
Discussion started by: shazgaurav
5 Replies

8. UNIX for Dummies Questions & Answers

Lftp operation

dear all, I need to get files from ftp when only files consist of words 'EUROPE' ftp sources in folder /ftp1/ftp2/ftp3/201409 files inside /ftp1/ftp2/ftp3/201409is as below 201409_EUROPE_citizen.txt 201409_EUROPE_natality.txt 201409_EUROPE_occupancy.txt 201409_ASIA_citizen.txt... (1 Reply)
Discussion started by: radius
1 Replies

9. Shell Programming and Scripting

lftp is not working.how to replace lftp with expect utility using same .cfg file.

We have lftp command inside shell file. which is intern calling .cfg file for transferring the file from one server to other. Below command to not working. lftp -e "set net:max-retries 1; set net:reconnect-interval-base 1; put -E -O /destinationdir/inbox/ /sourcedir/test.txt; bye" -u... (4 Replies)
Discussion started by: johnsnow
4 Replies

10. Shell Programming and Scripting

Error with LFTP

I use below ftp command to push the file from UNIX server to Mainframe system. (lftp -d -e "set ftp:passive-mode false; put -a ${SPOOLFILE} -o ${FNAME}; exit" -u ${id},${paswd} ${host} ) >> $ftplog To ftp the file successfully i need to get the out put for FNAME as "'filename'" (double... (5 Replies)
Discussion started by: zooby
5 Replies
rdeliver(1)						      General Commands Manual						       rdeliver(1)

NAME
rdeliver - Ruby mail filter script SYNOPSYS
rdeliver <options> [script] DESCRIPTION
This script serves as an example of how you can use the RFilter::DeliveryAgent class to perform mail delivery. You can also use this script as a fully functioning mail filter. This script is a basic mail local delivery agent (DeliveryAgent) that can be used in place of procmail, maildrop, etc. in a user's .forward or .qmail file. The user supplies a delivery script that is written in Ruby, which avoids the limitations of the crippled mini-languages so often used in other DeliveryAgent programs. USAGE
rdeliver is invoked from the command line using: % rdeliver <options> [script] The script argument is optional. If omitted the script will look for a file called .rdeliver in the home directory. Options are: --load-path directory Prepend the given directory to ruby's load path. --log filename Log to the given filename. If no log is specified, no logging occurs. --home directory Specify the home directory. rdeliver will change to this directory before reading and writing any files. The home directory defaults to the value of the HOME or LOGDIR environment variable. DELIVERY SCRIPT
The delivery script runs in the context of a class called Deliver (in contrast, most ruby scripts run in the context of the Object class). So any methods added with def will be added to the Deliver class. A minimal delivery script would be: def main agent.save('inbox') end This code defines a Deliver#main method that saves the mail into an mbox style mailbox. The only API the Deliver script has is the #agent method. This retrieves the RFilter::DeliveryAgent object associated with the current message. Using the API of the RFilter::DeliveryAgent object, you can access and modify the message body and headers, defer or reject the message delivery, and deliver into various mailbox formats. See also RFilter::DeliveryAgent and Deliver. INSTALLATION
Assuming you have the RubyMail mail classes installed, you typically have to put something like this in your .forward file: |"/usr/bin/rdeliver --log /home/you/.rlog" This will call rdeliver for each new message you get, and log to /home/you/.rlog. CATASTROPHIC ERRORS
The rdeliver script is very careful with errors. If there is any problem, it logs the error to the log file you specify. But if you do not specify a log file, or the error occurs before the log file is opened, a record of the error is placed in a file called CATASTROPH- IC_DELIVERY_FAILURE in the home directory. If that fails, the error information is printed to the standard output in the hopes that it will be part of a bounce message. In all cases, the exit code 75 is returned, which tells the MTA to re-try the delivery again. AUTHOR
rdeliver and RFilter support classes were written by Matt Armstrong <matt@lickey.com>. This document was originally an RD format document of rdeliver script. This manual page was converted from it for Debian GNU/Linux system. September 2003 rdeliver(1)
All times are GMT -4. The time now is 04:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy