如何将 telnet 控制台日志重定向到文件 Linux
How to redirect the telnet console logs to a file Linux
我想将 telnet 控制台日志重定向到 Linux 中的一个文件。
例如:
telnet $someIp > someFile
#ls
#exit
我希望将控制台日志保存在文件名 someFile
中。我正在使用 tcl
来自动执行此操作。截至目前,我正在 tcl
中进行 spawn telnet $someIp
。
这不会捕获控制台日志并将其保存到文件中。
这可以做到吗?
您可以使用 tee
命令来完成:
telnet $someIp | tee -a -i someFile
Expect 具有启动和停止记录(或 logginig)的编程方式。给定一个文件名参数,log_file
命令打开文件并开始记录到它。如果日志文件已经打开,则首先关闭旧文件。
记录是通过附加到文件来完成的,因此如果之前有任何内容存储在文件中,它将保留下来。要重新开始,请使用 -noappend
标志。
您可以通过在不需要时关闭日志记录来节省 space。这是通过调用不带参数的 log_file
来完成的。 例如,以下片段开始录制,执行一些 I/O,停止录制,再执行一些 I/O,然后重新开始录制。
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
# stop recording
log_file
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
默认情况下,log_file
仅记录用户看到的内容。如果已调用 log_user
命令来抑制衍生程序的输出,则抑制的输出不会被 log_file 记录,因为用户也看不到它。 log_file
可以通过使用 -a
标志(对于 "all output")来记录抑制的输出。
log_file -a log
和以前一样,可以通过发出不带参数的 log_file 来禁用此日志记录。要 return 仅记录用户看到的内容,请在不使用 -a.
的情况下调用 log_file
log_file -a log
expect . . . ; send . . .
log_file log
我想将 telnet 控制台日志重定向到 Linux 中的一个文件。
例如:
telnet $someIp > someFile
#ls
#exit
我希望将控制台日志保存在文件名 someFile
中。我正在使用 tcl
来自动执行此操作。截至目前,我正在 tcl
中进行 spawn telnet $someIp
。
这不会捕获控制台日志并将其保存到文件中。
这可以做到吗?
您可以使用 tee
命令来完成:
telnet $someIp | tee -a -i someFile
Expect 具有启动和停止记录(或 logginig)的编程方式。给定一个文件名参数,log_file
命令打开文件并开始记录到它。如果日志文件已经打开,则首先关闭旧文件。
记录是通过附加到文件来完成的,因此如果之前有任何内容存储在文件中,它将保留下来。要重新开始,请使用 -noappend
标志。
您可以通过在不需要时关闭日志记录来节省 space。这是通过调用不带参数的 log_file
来完成的。 例如,以下片段开始录制,执行一些 I/O,停止录制,再执行一些 I/O,然后重新开始录制。
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
# stop recording
log_file
expect . . . ; send
# start recording
log_file telnetlog
expect . . . ; send
默认情况下,log_file
仅记录用户看到的内容。如果已调用 log_user
命令来抑制衍生程序的输出,则抑制的输出不会被 log_file 记录,因为用户也看不到它。 log_file
可以通过使用 -a
标志(对于 "all output")来记录抑制的输出。
log_file -a log
和以前一样,可以通过发出不带参数的 log_file 来禁用此日志记录。要 return 仅记录用户看到的内容,请在不使用 -a.
的情况下调用 log_filelog_file -a log
expect . . . ; send . . .
log_file log