在SFTP中捕获错误

时间:2016-06-22 05:46:19

标签: bash shell unix

我正在尝试编写一个将文件推送到另一台服务器的unix脚本。 我需要知道文件是否被成功推送。

到目前为止,我发现将sftp错误写入文件。

sftp ${SFTP_USER}@${SFTP_HOST} << ENDP 2> /var/local/err_log.txt
cd ${SFTP_DIR}
put ${OUTPUT_FILE}
bye
ENDP

我的假设是“2&gt;”只会在err_log中写入错误。 因此,如果我的err_log不为空,则表示我遇到了错误。

我的问题是,这是一个好方法吗? 是否正确假设只会在err_log文件中写入错误? 还有其他更好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果要将 stderr 日志记录限制为错误,则应使用Quiet模式:

   -q     Quiet mode: disables the progress meter as well as  warning  and
          diagnostic messages from ssh(1).