automate sftp in sun solaris.


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers automate sftp in sun solaris.
# 1  
Old 04-06-2011
automate sftp in sun solaris.

Hi,

I'm using Sun Solaris OS. I have configured sftp and can exchange files in command prompt. Now when I try to automate it in ksh script, facing issue as I want to capture the status if the transfer was successful or not. So tried sftp -b and sftp -B option but its not working.

The following is the code:
Code:
> cat testing_sftp.ksh
#!/usr/bin/ksh
echo " sftp -b tempsftp1.batch user@server " > tempsftp2.ksh
echo " put hello.txt " >> tempsftp1.batch
echo " quit " >> tempsftp1.batch
chmod 776 tempsftp2.ksh 
ksh tempsftp2.ksh > tempsftp3.log

i'm not able to capture any status.

when i try the above on the command prompt getting error saying -b or -B option not supported.
Code:
> sftp -b tempsftp1.batch user@server
sftp: illegal option -- b
usage: sftp [-1vC] [-osshopt = value] [user@]host

This when tried in hp-ux it worked, but its not working for solaris
So please let me know how can I capture the o/p.

Thanks in advance!

Last edited by vbe; 04-07-2011 at 09:05 AM.. Reason: code tags
# 2  
Old 04-06-2011
This seems a rather indirect way to do it. Why not just run it, instead of echoing commands into a file that runs it and running that? Putting it all into echo statements like that also makes it rather difficult to tease apart what you're actually doing.

Unfortunate that your version of sftp doesn't support -b but there's ways around that.

The chmod is pointless if you're running it with 'ksh scriptfile' by the way.

How about:

Code:
#!/bin/ksh

# This feeds the lines following <<EOF into sftp on standard
# input, this is called a 'here-document'.
# Errors are saved to err.log, stdout to out.log
sftp username@host > out.log 2> err.log <<EOF
put hello.txt
quit
EOF

---------- Post updated at 10:20 AM ---------- Previous update was at 10:18 AM ----------

Also, I suspect you're not capturing the errors because they're printed to standard error, not standard out.
This User Gave Thanks to Corona688 For This Post:
# 3  
Old 04-07-2011
Thanks it worked!
I'm able to capture the errors but unfortunately when the transfer is successful I don't get any response, (even in command prompt).
Is there any way to achieve this, to force system to respond ? also I don't get any message when the file already exist, it simply overwrites it.

Last edited by shinny; 04-07-2011 at 07:00 AM..
# 4  
Old 04-07-2011
Quote:
Originally Posted by shinny
Thanks it worked!
I'm able to capture the errors but unfortunately when the transfer is successful I don't get any response, (even in command prompt).
Check the return status after the command. [ "$?" -eq 0 ] && echo "Transfer successful"
Quote:
Is there any way to achieve this, to force system to respond?
Do you mean 'respond' in any other way than print success or failure?
Quote:
also I don't get any message when the file already exist, it simply overwrites it.
That's what scp does, yes. If you want to check if it exists first, you have to do so yourself.

Unfortunately not having -b makes this a lot harder: You can't check the exit status, you have to process the text of its output!

Code:
$ sftp localhost <<EOF
ls FARG
EOF
Couldn't stat remote file: No such file or directory
Can't ls: "FARG" not found

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need to automate sftp and always get the latest file

hi guys the script is working but i need to change the file that i want to get to the latest.. i will use this as cron so i can get the latest sftp file evryday. pls help.. set user "big_user" set IP "XX.XX.XX" set dir "/export/home/oracle/REF/INPUT" spawn sftp $user@$IP expect sftp> ... (7 Replies)
Discussion started by: JONATHAN0919
7 Replies

2. Shell Programming and Scripting

Sftp automate

hi, I am trying to automate a file download process using sftp. There is some logic to download files. 1) I need to login to destination server and then go to folder. 2) find list of files and count 3) using list of files I need to eliminate three selective files and download remaining... (1 Reply)
Discussion started by: getmilo
1 Replies

3. UNIX for Dummies Questions & Answers

Automate sftp process using script

Hi, guys, I am trying to automate a sftp process using "expect" method (since the key authentication method is disabled in my company network, there is no helping it). In order to try, I type in the command manually: sftp @ > << EOF >cd >ls -l >EOF >Connecting to @servername password: ... (3 Replies)
Discussion started by: warmboy610
3 Replies

4. Shell Programming and Scripting

Using expect to automate sftp

I am trying to use a for loop in my expect cmdFile that I am calling. I want to be able to call either one file name or a series of file names in the working directory (that I won't know the names before hand) and then pass the names to the sftp program. Something like for i in (ls *txt) do (0 Replies)
Discussion started by: vedder191
0 Replies

5. Shell Programming and Scripting

How to automate sftp without using expect script?

How to automate sftp with out using expect script? My batch file has the password but it is not taking. Please see below. I want to use this sftp connection in a loop for pushing new files in a directory one at a time. Hence I can not use an expect script. bash-2.05$... (5 Replies)
Discussion started by: Tuxidow
5 Replies

6. Shell Programming and Scripting

How to automate sftp in a script to 'get' files.

Hi, I read a couple of forum entries about scripting sftp using the '-b' option, but in my case it still prompts for the password. Does anyone have a sample script for an sftp block to 'get' files from the remote server without prompting for a password? Both the remote and the local servers... (1 Reply)
Discussion started by: ChicagoBlues
1 Replies

7. AIX

Automate SFTP UNIX to Windows

Hi, Could you please help to solve the below issue... my requirement is automate the SFTP between UNIX and Windows server. I want to get and put some files to UNIX AIX machine(SFTP client) to Windows server(SFTP server). For that, i have generated key pair (private/public) in my AIX machine .... (6 Replies)
Discussion started by: mahiban
6 Replies

8. Shell Programming and Scripting

automate sftp using unix script

Hi All, I need to write a UNIX script that automates the sftp process. I should be able to do a sftp to a secure box and get a file from there. I am having a problem doing this because no matter what I do, when I run my script, I get a prompt at command line asking for a password. How could I... (34 Replies)
Discussion started by: priyamurthy2005
34 Replies

9. Shell Programming and Scripting

Automate SFTP is not working

Hi All:cool:, i tried to automate SFTP process after passwordless authendication. Stil i am getting error... Can anyone help.... ------------------- sample code below ------------------- sftp -v $mdskk@100.4.4.75 << EOF cd /data mget *.tar.gz bye EOF... (2 Replies)
Discussion started by: senthil_seera
2 Replies

10. Shell Programming and Scripting

Automate batchfile generation for sFTP

Hey all, I am writing a script for sFTP using batchfile option (-B). My script is supposed to monitor a certain directory for several files and when they are found I will send them to a testing server. So using a static batchfile wouldn't be feasible, I am just wondering if anyone can show... (0 Replies)
Discussion started by: mpang_
0 Replies
Login or Register to Ask a Question