用于在SFTP中获取错误的命令

时间:2014-07-31 04:51:30

标签: linux shell unix sftp

任何人都可以告诉我如何使用SFTP在文件传输过程中发生错误。 在文件传输过程中是否有任何命令可以在SFTP中获取错误?我正在使用SFTP传输大约10个文件。假设在传输第9个文件时出错,如何获取错误以及导致SFTP错误的文件名?

1 个答案:

答案 0 :(得分:1)

您可以将sftp STDOUT / STDERR重定向到日志文件(使用> logfile 2>& 1),可以解析该文件以查找错误(如果有)。好的部分是sftp只有在会话期间出现任何错误才返回非零,否则返回零。

# for batch mode
# will return zero if there was no error while executing commands in sftpcommand.txt file
sftp -b sftpcommand.txt user@server > /tmp/sftp.log 2>&1
sftp_return=$?  
if [ $sftp_reutrn -ne 0 ];
then
   echo "Some error during sftp ... check /tmp/sftp.log file"
else
   echo "No error during sftp"
fi