gpt4 book ai didi

linux - 运行 SSH session 并从客户端添加时间戳记录到文件 stdout

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:10 26 4
gpt4 key购买 nike

我需要从 SSH 连接收集调试跟踪。我想从 linux 终端运行 SSH 客户端,在屏幕 session 中,能够与 session 交互以启动跟踪,然后将所有输出记录到文件中,但我还想在前面添加时间戳每行包括毫秒信息。

我尝试使用:

ssh ... | awk '{ print strftime("%a\%b\%d\%H:%M:%S.%N\%Y"), $0; fflush(); }' | tee 日志文件

它可以工作,但它有两个问题:没有毫秒,因为 %N 在 strftime 中不受支持,并且从终端输入的命令在我发送它们之前是不可见的。

请考虑我可能无法安装 linux 软件包(我正在 Qnap NAS 上运行这个)并且我不是 linux 环境的高手

非常感谢

最佳答案

您可以使用 datewhile 循环代替 awk

ssh ... | while read line; do echo "`date +'%a %b %d %H:%M:%S.%N %Y'` $line"; done | tee logfile

如果您不想在 stdout 上看到时间戳并且只记录它并且您的 shell 是 bash,那么您可以使用命名管道:

ssh ... | tee >(while read line; do echo "`date +'%a %b %d %H:%M:%S.%N %Y'` $line"; done >logfile)

关于linux - 运行 SSH session 并从客户端添加时间戳记录到文件 stdout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42650349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com