我試圖編寫一個將文件推送到另一個服務器的unix腳本。 我需要知道文件是否被成功推送。SFTP中的錯誤陷阱
到目前爲止,我發現的是將sftp錯誤寫入文件。
sftp ${SFTP_USER}@${SFTP_HOST} << ENDP 2> /var/local/err_log.txt
cd ${SFTP_DIR}
put ${OUTPUT_FILE}
bye
ENDP
我的假設是「2>」只會在err_log中寫入錯誤。 所以如果我的err_log不是空的,這意味着我遇到了一個錯誤。
我的問題是,這是一個好方法嗎? 這是正確的假設,只有錯誤將寫入err_log文件中? 還有其他更好的方法來做到這一點嗎?
'如果rsync的-ua /文件/至/轉讓$ {}用戶@ $ {host}:/ path/to/put/it;然後回聲「一切都好」;其他回聲「xfer失敗」; fi'似乎是一種更好的方法來處理它。 (假設'host'上有'ssh'訪問權限) –
嗨David,ssh訪問不可用。只提供了sftp。 – user2058738
無賴 - 'rsync'的功能如此強大...... –