我们每天晚上都会将 .zip 文件推送到 SFTP 服务器一次。但是,有时会失败,并且文件不会最终到达 SFTP 服务器上,我想知道它是否成功。目前尚不清楚失败的原因。
这是我的2个批处理文件的内容:
批处理文件1:
Z:
pushd \\Transfer\PRONTO
"D:\SFTP\psftp.exe" [email protected] -i "D:\SFTP Keys\Puttyprivatekey.ppk" -2 -b "D:\SFTP\Pronto_push_to_SFTP.bat"
del \\Transfer\PRONTO\*.zip
exit
批处理文件2(Pronto_push_to_SFTP.bat):
lcd \\Transfer\PRONTO
cd /pronto/
mput *.zip
exit
我想创建一个日志文件来捕获 .zip 文件是否成功放置到 SFTP 服务器上。如果不成功,请向管理员发送电子邮件通知。
以 OpenSSH
sftp
为模型,psftp
具有非常相似的错误处理(请参阅检查文件是否已使用 SFTP 成功传输到目的地)。
因此,使用 开关,它会在出现任何错误时中止并返回
2
(当无法打开批处理文件时,它会返回
1
)。Windows批处理文件也是如此,你可以这样做:
psftp -b ...
if errorlevel 1 (
echo SFTP script failed
)