1

我需要将详细日志记录添加到另一个系统的 FTP,因为他们声称他们并不总是收到发送的文件。

我正在psftp.exe使用脚本调用并尝试使用-v有效的详细日志记录选项,我还想在日志文件或日志中添加时间戳。

我还注意到使用-v 3-v 4揭示了更详细的日志记录。我希望将其输出到文件中。

这是我的腻子电话:

\\myserver\mytable\psftp.exe mylogin@myipaddress -pw mypassword -b C:\Users\pervasive\Desktop\mytable\mysftpscript.sftp  -v 2> \\myserver\mytable\mylog.txt
4

3 回答 3

1

要将完整的详细 ( -v) 输出记录psftp到文件中,请使用:

psftp user@example.com -pw password -v > psftp.log 2>&1

另请参阅将 Windows cmd stdout 和 stderr 重定向到单个文件


没有办法制作psftp生产时间戳。


请注意, 中没有详细级别psftp。没有-v 3-v 4

于 2019-06-06T14:08:02.957 回答
0

虽然它不会给出每笔交易的时间,但可以在两组日期和时间命令之间的 bat 文件中使用 psftp 命令。这至少会构成 psftp 运行的开始和结束。

date /t > \\myserver\mytable\mylog.txt
time /t >> \\myserver\mytable\mylog.txt
\\myserver\mytable\psftp.exe mylogin@myipaddress -pw mypassword -b C:\Users\pervasive\Desktop\mytable\mysftpscript.sftp  -v >> \\myserver\mytable\mylog.txt 2>&1
date /t >> \\myserver\mytable\mylog.txt
time /t >> \\myserver\mytable\mylog.txt

要获取每个事务时间记录,您可以使用 ! 从 sftp 批处理/脚本 C:\Users\pervasive\Desktop\mytable\mysftpscript.sftp 运行 Windows 命令 命令在您需要时间记录的关键点。

!time /t
mput somefiles
!time /t

编辑:刚刚测试了时间命令,并不好。所有时间都使用下面的 psftp 详细日志记录在输出顶部,因此没有意义。

18/12/2020 
12:07
12:07
12:07
12:07
Connected to x.x.x.x
Remote working directory is /
New local directory is C:\_sftp\snd
Remote directory is now /remote/collect
Listing directory /remote/collect
于 2020-12-18T11:39:02.873 回答
-1

我希望我能投票给你的答案,但我仍然没有代表。

目录 >> a.txt 2>&1

这确实使它们合二为一!唯一的缺点是它将 stderr 附加到末尾,而不是像 -v 那样将其放在中间。这是迄今为止我找到的最好的解决方案,但仍然比我的客户希望看到的要少一些。时间戳也很好,但我在开始和结束时添加了一个时间戳来封装这个过程。

于 2020-04-11T18:43:12.107 回答