我有一个 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"