LFTP Bash脚本中的捕获错误

时间:2017-10-09 11:15:58

标签: bash lftp

所以我试图在使用LFTP传输文件时捕获特定错误,但问题是,由于调用<<EOF以允许与交互式shell接口,我无法捕获它们。

我使用的代码如下:

#Start backup procedure
lftp<<EOF
open ftps://$HOST || bye && #SEND MAIL CANNOT CONNECT TO SERVER (ERROR)
login $USER $PASSWORD || #SEND MAIL AUTH FAILURE (ERROR)
#Remove existing backups on FTP server
glob -a rm -r ./* || bye && #SEND MAIL FAILED (WARNING) TO REMOVE PREVIOUS BACKUPS
#Upload new backup to FTP server
lcd /var/opt/gitlab/backups
mput *.tar || bye && #SEND EMAIL (ERROR) FAILED TO UPLOAD FILES
bye
EOF 

显然,当调用再见时,交互式会话被关闭,但在&amp;&amp;。之后没有任何内容被执行。

任何人都知道如何捕捉这样的特定错误?

1 个答案:

答案 0 :(得分:0)

您可以使用括号命令分组:

open... || (shell send-mail; exit 1)