bash - 如何在 bash 脚本中记录 lftp 错误
问题描述
我正在编写一个 bash 脚本来使用 lftp 下载/上传文件,并启用对文件 ( set xfer:log-file "$LOGFILE"
) 的日志记录。
在我的测试期间,我遇到了一个错误,550 access denied error
但令我惊讶的是,错误转到了标准输出,而不是进入了我的日志文件,我发现无法捕获错误。我在下面粘贴我的上传功能。
function xfer_up(){
FOUND=$(ls $OUTBOX | wc -l)
if [ $FOUND <= 0]; then
log_info "no files available at $2 (EMPTY FOLDER)."
return
fi
log_info "transfering files from $FOUND into $1/$2"
lftp -u ${USER},${PASSWD} $1 << LFTP
set xfer:log true
set xfer:log-file "$LOGFILE"
set xfer:clobber true
set xfer:auto-rename true
debug 3
mput $OUTBOX/*.txt -O $2
quit
LFTP
}
关于如何记录此错误的任何想法?
解决方案
只需将标准输出和标准错误输出重定向并附加到日志文件即可。
lftp -u ${USER},${PASSWD} $1 2>>"$LOGFILE" >>"$LOGFILE" <<LFTP