Run it for each file and check the exit code, log errors as appropriate.
Hi achenle, as I've said in my first thread, using SFTP is a business requirement, and we can't help abiding by that.
Quote:
Originally Posted by rbatte1
Welcome Aviktheory11,
Your sftp session is not a normal shell session for running commands remotely so it is a little awkward. You command below
Code:
!md5sum * > chklist.md5
will run on the local server, so I'm not sure that is what you really want.
If you were using plain ftp then you would get a zero return code if the connection opened and you had to resort to switching on flags to get more verbose output that can be captured in a log file and read afterwards. sftp on the other hand is better with errors. Could you do something like the following instead?:-
Code:
#!/bin/bash
. ./params # parameter file
cd output
errcnt=0
for file in T_PROD*
do
sftp ${FTPUSER}@${FTPSERVER} << EOF
cd $FTPFOLDER
put $file
EOF
# Note not an indentation with spaces on previous line. Used tab for clarity.
if [ $? -ne 0 ]
then
printf "Something went wrong with file \"$file\"\n"
((errcnt=$errcnt+1))
else
printf "File \"$file\" send successfully.\n"
fi
done
if [ $errcnt -ne 0 ]
then
printf "ERROR in $errcnt transfers!\n"
done
Thanks for the help rbatte1. However, will just checking the return code of sftp ensure the correct transfer of files ? I'm dealing with file transfer things just recently [that's why I've used the md5sum, din't realise it worked only locally], and I believe the return code is 0 even if a file was transferred partially. Please correct me if I'm wrong.
I'll try out your suggestion though. Thanks a lot for the help again !!!
I get this error when I try to FTP from an HP Alpha Server to a UNIX box.
FATAL: BUILD13$:SSHFC_TRANSFER.C;1:1835 SshFCTransfer (function name unavailable) Assertion failed: tdata
->current_dest_file->attributes->flags & 0x00000004
the sftp /put fails just before it does the actual transfer.... (2 Replies)
Hi,
While I am trying SFTP my machine to another unix machine ,
it was working fine till 10 min back.
But now i am getting the below error
"Request for subsystem 'sftp' failed on channel 0"
Could you please someone help me to solve or analyise the root cause...
Cheers:b:,
Mahiban (0 Replies)
Hi friends,....
am sindhiya,
i have joined as AIX level 1 support.
help me to identify the failed pv in vg which has some 4 physical volumes? (2 Replies)
Good Evening,
2 years ago, I set up an Ubuntu file-server for a friend, who is a photograph amateur. Basically, the server offers a software RAID-5 that can be accessed remotely from a MAC. Unfortunately, I didn't labeled the hard drives (i.e. which physical drive corresponds to the /dev/sdX... (2 Replies)
I would like to create console application in c# to automate the process of downloading some files from a SFTP server to my local hard drive at a set time each week/day.
SFTP Server installed OpenSSH for windows and client machine also.
Any ideas how I could do such a task? or sample code.
... (0 Replies)
hi,
how can i know whether a command inside an sftp script has failed or not?
i have a sftp expect script
#!/usr/bin/expect
spawn /usr/bin/sftp abc@ftp.abc.com
expect "sftp>"
send "cd dir\r"
expect "sftp>"
send "mput abc.txt\r"
expect "sftp>"
send "mput def.xls\r"
expect "sftp>"... (5 Replies)
I am working on a shell script where after making sftp connection to a remote server the file are being transferred. The problem is how to capture return code for the file which is missing at the remote location. I have tried to capture the return code which return value of "0" even the transfer of... (4 Replies)
Hi Guys,
I have performed OBP & ALOM upgrade on V240 system. One of my system, running Solaris 10, having issue to identify flash rom during ALOM 1.6.10 version upgrade (OBP upgraded to latest one).
May I know what the reason of this error and how can I fix it so I can upgrade ALOM using... (0 Replies)
Hi ALL,
I have a shell script using except :
#!/bin/bash
HOST=abc.com
USER=abc
PASSWORD=123
SOURCE_FILE=file1.zip
TARGET_DIR=/A/B/C
/usr/bin/expect <<- EOF
spawn /usr/bin/sftp $USER@$HOST
expect "password:"
send "$PASSWORD\r"
expect "sftp>"
send "cd patch1\n"
... (11 Replies)
Discussion started by: Asad
11 Replies
LEARN ABOUT DEBIAN
net::sftp::foreign::constants
Net::SFTP::Foreign::Constants(3pm) User Contributed Perl Documentation Net::SFTP::Foreign::Constants(3pm)NAME
Net::SFTP::Foreign::Constants - Constant definitions for Net::SFTP::Foreign
SYNOPSIS
use Net::SFTP::Foreign::Constants qw(:tag SSH2_FILEXFER_VERSION);
print "Protocol version is ", SSH2_FILEXFER_VERSION;
DESCRIPTION
Net::SFTP::Foreign::Constants provides a list of exportable SFTP constants: for SFTP messages and commands, for file-open flags, for status
messages, etc. Constants can be exported individually, or in sets identified by tag names.
Net::SFTP::Foreign::Constants provides values for all of the constants listed in the SFTP protocol version 3 draft; the only thing to note
is that the constants are listed with the prefix "SSH2_" instead of "SSH_". So, for example, to import the constant for the file-open
command, you would write:
use Net::SFTP::Foreign::Constants qw( SSH2_FXP_OPEN );
TAGS
As mentioned above, constants can either be imported individually or in sets grouped by tag names. The tag names are:
:fxp
Imports all of the "SSH2_FXP_*" constants: these are the constants used in the messaging protocol.
:flags
Imports all of the "SSH2_FXF_*" constants: these are constants used as flags sent to the server when opening files.
:att
Imports all of the "SSH2_FILEXFER_ATTR_*" constants: these are the constants used to construct the flag in the serialized attributes.
The flag describes what types of file attributes are listed in the buffer.
:status
Imports all of the "SSH2_FX_*" constants: these are constants returned from a server "SSH2_FXP_STATUS" message and indicate the status
of a particular operation.
:error
Imports all the "SFTP_ERR_*" constants used to represent high level errors: "SFTP_ERR_LOCAL_ALREADY_EXISTS",
"SFTP_ERR_LOCAL_CHMOD_FAILED", "SFTP_ERR_LOCAL_OPEN_FAILED", "SFTP_ERR_LOCAL_READ_ERROR", "SFTP_ERR_LOCAL_STAT_FAILED",
"SFTP_ERR_LOCAL_UTIME_FAILED", "SFTP_ERR_LOCAL_WRITE_FAILED", "SFTP_ERR_REMOTE_BAD_PACKET_SEQUENCE", "SFTP_ERR_REMOTE_BAD_PERMISSIONS",
"SFTP_ERR_REMOTE_BAD_TIME", "SFTP_ERR_REMOTE_BLOCK_TOO_SMALL", "SFTP_ERR_REMOTE_CLOSE_FAILED", "SFTP_ERR_REMOTE_FSETSTAT_FAILED",
"SFTP_ERR_REMOTE_FSTAT_FAILED", "SFTP_ERR_REMOTE_LSTAT_FAILED", "SFTP_ERR_REMOTE_MKDIR_FAILED", "SFTP_ERR_REMOTE_OPENDIR_FAILED",
"SFTP_ERR_REMOTE_OPEN_FAILED", "SFTP_ERR_REMOTE_READDIR_FAILED", "SFTP_ERR_REMOTE_READ_FAILED", "SFTP_ERR_REMOTE_REALPATH_FAILED",
"SFTP_ERR_REMOTE_REMOVE_FAILED", "SFTP_ERR_REMOTE_RENAME_FAILED", "SFTP_ERR_REMOTE_RMDIR_FAILED", "SFTP_ERR_REMOTE_READLINK_FAILED",
"SFTP_ERR_REMOTE_SYMLINK_FAILED", "SFTP_ERR_REMOTE_SETSTAT_FAILED", "SFTP_ERR_REMOTE_STAT_FAILED", "SFTP_ERR_REMOTE_WRITE_FAILED" and
"SFTP_ERR_REMOTE_HARDLINK_FAILED".
Note: these constants are not defined on the SFTP draft.
:ext
Import all the "SSH2_FXE_*" constants: there are the constants defined for usage with SFTP extensions.
Currently, these are supported: "SSH2_FXE_STATVFS_ST_RDONLY", "SSH_FXE_STATVFS_ST_NOSUID".
There is one constant that does not fit into any of the tag sets: "SSH2_FILEXFER_VERSION", which holds the value of the SFTP protocol
implemented by Net::SFTP::Foreign.
AUTHOR & COPYRIGHTS
Please see the Net::SFTP::Foreign manpage for author, copyright, and license information.
perl v5.14.2 2012-05-11 Net::SFTP::Foreign::Constants(3pm)