如何记录部分(而非全部)lftp 传输

如何记录部分(而非全部)lftp 传输

我有一个 lftp 脚本文件,用于通过 sftp 镜像一些目录,因此我使用类似 的命令运行该命令lftp -f mirror_dirs.lftp。我现在想将传输记录到特定日志文件这样以后,也许在取证环境中,我可以确定传输了哪些文件以及何时传输。我不想将选项放在文件中,~/.lftp/rc因为我不想用我可能发出的其他临时 lftp 命令的信息污染我的日志文件。我已阅读lftp 手册并且仍然很困惑。

我似乎想要做的是日志传输。手册中提到以下内容:

   log:enabled (boolean)
          when  true,  the  log messages are output. The closure for this
          and other 'log:' variables is either `debug' for debug messages
          or 'xfer' for transfer logging.

   log:file (string)
          the target output file for logging. When empty, stderr is used.

这种“闭包”行为对我来说特别令人困惑,它的语法也是如此。据我所知,“闭包”是一种为命令提供更具体上下文的方法。这是我的初步尝试:

set log/xfer:enabled true
set log/xfer:file "/Logs/lftp_transfer.log"
set log/xfer:show-time true
set mirror:parallel-directories true

open "sftp://user99:[email protected]"
mirror --verbose -c / tests/

这导致了错误消息/Logs/lftp_transfer.log: invalid boolean value,所以显然我没有理解语法。

如何在 lftp 脚本文件中正确指定传输日志。

答案1

您应该将配置更改为:

set xfer:log 1 
set xfer:log-file "/Logs/lftp_transfer.log"

相关内容