0
那麼檢查sftp/mget是否實際拉取文件最簡單的方法是什麼?如何確認使用mget下載了多少個文件?
我現在的劇本是這樣的:
sftp ${SFTP_USER}@${SFTP_SERVER} <<EOF
cd ${SFTP_SOURCE_DIR}
mget ${FILEPATTERN}* ${AL_FTP_DIR}
bye
EOF
但在測試過程中,如果沒有文件匹配文件模式,不會返回錯誤,並且腳本進行一無所知。
假設我已經可以在匹配$ {FILEPATTERN} *的當前目錄中存在文件了......如何判斷mget是否真的拉出了任何東西?
我最好考慮的解決方案是使用臨時目錄...檢查並移動... 聳肩 ..但我想這裏必須有一個更優雅的解決方案?
TDIR="AL_TMP_$$"
mkdir $TDIR
sftp ${SFTP_USER}@${SFTP_SERVER} <<EOF
cd ${SFTP_SOURCE_DIR}
mget ${FILEPATTERN}* ${AL_FTP_DIR}/${TDIR}
bye
EOF
CHKCNT=`ls -ltr $TDIR | wc -l`
if [ ${CHKCNT} -eq 1 ];
then
echo "ERROR: No files found on FTP server."
rmdir $TDIR
exit 1
fi
mv $TDIR/* .
rmdir $TDIR
嗯,我最初否認的是,由於並行作業運行但是,因爲我認爲它更多的,是的,這會工作,並行作業在不同的文件模式工作:)所以我可以使用這個技巧...我想這可以節省臨時目錄...謝謝! – Ditto