Sponsored Content
Full Discussion: Lftp command
Top Forums Shell Programming and Scripting Lftp command Post 303004612 by apmcd47 on Thursday 5th of October 2017 08:00:07 AM
Old 10-05-2017
You have a usage message but no option-getting code. You don't redirect the output of lftp but redirect an empty ftp session to a log file. You include password in the script. Please use the .netrc file with the format
Code:
machine <address> login <username> password <password>

This may help; it has not been tested but is based on working code. I have used your usage function with options no longer relevant prefixed with #. Your exit codes have been used where possible.
Code:
#!/bin/ksh
usage()
{
cat << EOF
Usage: $0 options
options:
   -s      Host Server Name
   -u      User Name
   [-c]      Continue/retry
#   -p      Password
#   -l      Local Directory
   -f      Source File Name
   [-t      Target File Name]
   [-r     Remote Directory]
#   [-d     Default Directory]
#   [-c     FTP Command]
EOF
}
while getopts u:r:s:f:t:hc opt
do
   case $opt in
      u) user="-u $OPTARG"   ;;
      r) rdir="cd $OPTARG ;" ;;
      h) usage; exit         ;;
      c) cont=-c             ;;
      s) host_name="$OPTARG" ;;
      f) lfile="$OPTARG"     ;;
      t) tgt_file_name="$OPTARG" ;;
   esac
done
shift $(( OPTIND - 1 ))
if [[ -n "${user:+u}${host_name:+s}${lfile:+f}" ]]
then
   printf "Missing required options: %s\n" "${user:+u}${host_name:+s}${lfile:+f}" >&2
   exit 1
fi


PREFIX_CMD="set cmd:fail-exit yes;set ftp:ssl-allow true;set ssl:verify-certificate yes;"	
     # (1) Causes lftp to exit on failure
     # (2) Try to negotiate SSL connection  with  FTP  server
     # (3) Verify server's certificate to be signed by a known Certificate
     #     Authority and not be on Certificate  Revocation List.
if [[ ! -f ${lfile} ]]	# Check it exists
then
   print -u2 "File ${lfile} does not exist"
   exit 4		# exit with return val 4
fi
rfile=${tgt_file_name:-${lfile##*/}}
CMD="put  ${cont} ${lfile} -o ${rfile};"
if [[ -n "${CMD}" ]]
then
   lftp ${user} -e "${PREFIX_CMD} ${rdir} ${CMD} exit" ${host_name} > log_file 2>&1
   ftp_status=$?
fi

if (( ftp_status == 0 ))
then exit 0
else exit 3
fi

I hope that helps.

Andrew
 

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
FENCE_AGENT(8)						      System Manager's Manual						    FENCE_AGENT(8)

NAME
fence_cisco_ucs - Fence agent for Cisco UCS DESCRIPTION
fence_cisco_ucs is an I/O Fencing agent which can be used with Cisco UCS to fence machines. fence_cisco_ucs accepts options on the command line as well as from stdin. Fenced sends parameters through stdin when it execs the agent. fence_cisco_ucs can be run by itself with command line options. This is useful for testing and for turning outlets on or off from scripts. Vendor URL: http://www.cisco.com PARAMETERS
-a, --ip=[ip] IP Address or Hostname This parameter is always required. -l, --username=[name] Login Name This parameter is always required. -p, --password=[password] Login password or passphrase -z, --ssl SSL connection -t, --notls Disable TLS negotiation -n, --plug=[id] Physical plug number, name of virtual machine or UUID This parameter is always required. --suborg=[path] Additional path needed to access suborganization -u, --ipport=[port] TCP/UDP port to use (default 80, 443 if --ssl TCP/UDP port to use for connection with device (Default Value: 80) -4, --inet4-only Forces agent to use IPv4 addresses only -6, --inet6-only Forces agent to use IPv6 addresses only -S, --password-script=[script] Script to retrieve password --ssl-secure SSL connection with verifying fence device's certificate --ssl-insecure SSL connection without verifying fence device's certificate -o, --action=[action] Fencing Action (Default Value: reboot) -v, --verbose Verbose mode -D, --debug-file=[debugfile] Write debug information to given file -V, --version Display version information and exit -h, --help Display help and exit -C, --separator=[char] Separator for CSV created by operation list (Default Value: ,) --power-timeout=[seconds] Test X seconds for status change after ON/OFF (Default Value: 20) --shell-timeout=[seconds] Wait X seconds for cmd prompt after issuing command (Default Value: 3) --login-timeout=[seconds] Wait X seconds for cmd prompt after login (Default Value: 5) --power-wait=[seconds] Wait X seconds after issuing ON/OFF (Default Value: 0) --delay=[seconds] Wait X seconds before fencing is started (Default Value: 0) --retry-on=[attempts] Count of attempts to retry power on (Default Value: 1) ACTIONS
on Power on machine. off Power off machine. reboot Reboot machine. status This returns the status of the plug/virtual machine. list List available plugs with aliases/virtual machines if there is support for more then one device. Returns N/A otherwise. monitor Check the health of fence device metadata Display the XML metadata describing this resource. STDIN PARAMETERS
ipaddr IP Address or Hostname This parameter is always required. login Login Name This parameter is always required. passwd Login password or passphrase ssl SSL connection notls Disable TLS negotiation port Physical plug number, name of virtual machine or UUID This parameter is always required. suborg Additional path needed to access suborganization ipport TCP/UDP port to use for connection with device (Default Value: 80) inet4_only Forces agent to use IPv4 addresses only inet6_only Forces agent to use IPv6 addresses only passwd_script Script to retrieve password ssl_secure SSL connection with verifying fence device's certificate ssl_insecure SSL connection without verifying fence device's certificate action Fencing Action (Default Value: reboot) verbose Verbose mode debug Write debug information to given file version Display version information and exit help Display help and exit separator Separator for CSV created by operation list (Default Value: ,) power_timeout Test X seconds for status change after ON/OFF (Default Value: 20) shell_timeout Wait X seconds for cmd prompt after issuing command (Default Value: 3) login_timeout Wait X seconds for cmd prompt after login (Default Value: 5) power_wait Wait X seconds after issuing ON/OFF (Default Value: 0) delay Wait X seconds before fencing is started (Default Value: 0) retry_on Count of attempts to retry power on (Default Value: 1) fence_cisco_ucs (Fence Agent) 2009-10-20 FENCE_AGENT(8)
All times are GMT -4. The time now is 08:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy