SFTP scenario


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting SFTP scenario
# 1  
Old 09-14-2009
SFTP scenario

Code:
#!/usr/bin/ksh

Archive_Dir='/apps/SrcFiles/MTCHG_GFTS/BRGR/Archive'
Source_Dir='/apps/SrcFiles/MTCHG_GFTS/BRGR'

cd $Source_Dir

HOST='xyz.abc.com'
USER='abcOUT'
PSW='xyzOUT'
file="Request*.pgp"

for i in 1 2 3 4 5 6
do		
sftp $USER@$HOST <<END_SCRIPT
$PSW
bin 
if [[ -f $file ]] ; then
  #echo "File FOUND!"
	mget *.pgp
	bye
	break
	#else
	#echo "File not found. Will try again in next hour!"
fi
END_SCRIPT
 		sleep 3600
done

What I am trying to do is check for a file using SFTP on a server and if it exists download it to local server. If it does not exist then I need to try again after another hour--but only for a maximum of 6 times. If the file does not exist at the 6th attempt the script should exit.

2 Issues:
1) SFTP without it asking for a password. I run this script and it keeps asking for a password and then gives me some random errors saying invalid command which I think is the "If file exists check". Maybe that does not work in sftp.
2) The SFTP connection has a timeout set to every 15 minutes so I want the script to create a new session everytime it looks for a file. I am not sure if my script is actually doing that.

I know that I can specify a batch file that can be used as input to allow for it to pick up the password automatically but I couldn't figure that out. Any help suggestions--welcome.
# 2  
Old 09-14-2009
Copy your public key from your local machine, ~/.ssh/id_dsa.pub or ~/.ssh/id_rsa.pub, to the remote machine and append it to ~/.ssh/authorized_keys. If that file doesn't exist, just rename your .pub file to that name.

Make sure directory ~/.ssh has file mode 0700 (chmod). The authorized_keys file may also need to be 0600 or similar.

Now you should be able to use sftp, ssh and scp with no password.
# 3  
Old 09-14-2009
I really don't want to mess with the keys. I do not believe I have access to the keys but if nothing else works then I will have to request permission.

Anyhow something like the below works for me. Don't know if I will be able to incorporate if with the other requirements in my script. This expect thing looks cool!

Code:
#!/usr/local/bin/expect

spawn  sftp  -b cmdFile user@yourserver.com
expect "password:"
send "shhh!\n";
interact

# 4  
Old 09-18-2009
Take a look at a utility called LFTP, it is a great FTP "shell" which handles multiple flavors of S/FTP and is quite scriptable with repeated attempts and error-handling.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Cybersecurity

iptables in a NAT scenario

Hi, I am learning IPTables have this question. My server is behind a firewall that does a PAT & NAT to the LAN address. Internet IP: 68.1.1.23 Port: 10022 Server LAN IP: 10.1.1.23 port: 22 Allowed Internet IPs: 131.1.1.23, 132.1.1.23 I want to allow a set of IPs are to be able to... (1 Reply)
Discussion started by: capri_guy84
1 Replies

2. Shell Programming and Scripting

FTP failure with different scenario

Hi Gurus the below FTP code works fine, but the issue is from past 1 week couldn't able to send the files to external system. #--------------------------------------------------------------------# #Start the ftp session #--------------------------------------------------------------------#... (3 Replies)
Discussion started by: SeenuGuddu
3 Replies

3. Shell Programming and Scripting

Logic help with Scenario

Hello Folks I am looking for logic help for below scenerio with respect to AIX n unix script 1) We need to get the date of all the saturday in yr 2) L_o left over days is weeks left over days for previous month for eg. first sat of feb is 4th of feb in that week we have 29 - 30 - 31 from Jan... (2 Replies)
Discussion started by: joshiamit
2 Replies

4. Emergency UNIX and Linux Support

Help in below scenario

Hi, my file has the data like below: 11,231,ABCVAV 22,AAHJHAj22,hdsjkhdls 22,dhskjhdkshd 22,gdgkdkadh 11,232,dgsjgdjh 22,ghdskahdkja 22,shdkajshs 11,233,ddjs 22,dhjkahkd 22,hsajhaah 11,231,sjkjsjj 22,ahkh 22,hsakh From the above i need only the records which starts as 11,231... (5 Replies)
Discussion started by: pandeesh
5 Replies

5. Shell Programming and Scripting

Challenging scenario

Hi, My input file contains 1,2 2,4 3,6 4,9 9,10 My expected output is 1,10 2,10 3,6 4,1 9,10 (6 Replies)
Discussion started by: pandeesh
6 Replies

6. Shell Programming and Scripting

How to implement scenario?

hi, i am having three files which is having following data file1: field1 field2 field3 1 A B 2 C D 3 E F file2: 4 G H 1 I J 5 K L file3: 4 M N (3 Replies)
Discussion started by: angel12345
3 Replies

7. Shell Programming and Scripting

How to Script This Scenario

hi all, i have to schedule an email containing the information about some orphan connections existing on the server depending upon the system date. the format of the info to be sent in email is : Process id username servername time when connection... (0 Replies)
Discussion started by: Priyanka S
0 Replies

8. Shell Programming and Scripting

How to use IFS in this scenario?

Given the scenario like this, if at all if have to use IFS on the below given example, how it should be used. IFS=/ eg: /xyz/123/348/file1 I want to use the last slash /file1 . So can anyone, suggest me how to pick the last "/" as a IFS. (4 Replies)
Discussion started by: raghunsi
4 Replies

9. Shell Programming and Scripting

file sending scenario

hi all i have a view in the database with columns prod_no,prod_nm, prod_code using a shell script i should query this view and dump the data in a delimited flat file and send to another ftp server.... i also have to schedule this periodically using cron tab. can you... (2 Replies)
Discussion started by: rajesh_tns
2 Replies

10. UNIX for Advanced & Expert Users

Weird scenario with Awk

Guys, this one is rather odd. I've got an array of numbers, and I'm trying to select only the records with the string "Random" in the 4th column. I'm using awk in this format: awk '{ if (( $6 -eq Random )) print $0 }' For some odd reason, this is simply giving me the list of all the entries... (4 Replies)
Discussion started by: Khoomfire
4 Replies
Login or Register to Ask a Question