通过批处理自动化PuTTY并执行errlog命令

通过批处理自动化PuTTY并执行errlog命令

我是 PuTTY 的新手。我正尝试errlog通过批处理自动检索命令中的数据。FWIW,我在 Windows 10 上安装了“Simon Tatham Putty .76”,并使用 Windows 命令行。以下是我目前的情况:

putty.exe -ssh user@SERVER -pw TheActualPassword

^ 这将打开终端并显示用户已成功登录:

Using username "user".
Last unsuccessful login: Tue Dec 26 11:26:13 CST 2023 on ssh from 111.15.171.117
Last login: Mon Mar 11 23:23:59 CDT 2024 on ssh from 111.15.171.117
$ 

我输入错误日志,按回车键,得到:

IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION
60D73419   0305122424 I S vnicserver0    VNIC Client Login
<and several more lines>
$ 

我查看了文档并发现了命令行选项,例如 -m,它告诉 PuTTY“从文件读取远程命令或脚本”。我创建了一个名为 ErrlogCommands.txt 的测试文件,其中有一行:

errlog

现在,我尝试:

putty.exe -ssh user@SERVER -pw TheActualPassword -m ErrlogCommands.txt

终端闪烁了好几次,然后又熄灭了。我尝试了好几次,终于在它消失之前拍下了它:

Using username “user”
rksh: errlog:  not found.

我也尝试过:

putty.exe -ssh user@SERVER -pw TheActualPassword -m ErrlogCommands.txt > a.txt

但这只是创建了一个名为a.txt的空文件。

PLINK 看起来很有趣,所以我尝试了一下

PLINK.exe -ssh user@SERVER -pw TheActualPassword -m ErrlogCommands.txt -batch

没有弹出终端,但命令行有以下响应:

rksh: errlog:  not found.

我错过了什么? ErrlogCommands.txt 文件是否需要某种控制字符?

答案1

似乎您遇到了问题PATH,当您尝试通过 putty/plink 运行命令时, whereerrlog不在您的位置。这通常是因为它们启动了PATH非交互式会话当给出运行命令时,其行为可能会有所不同。

您可以尝试手动运行which errlog以找到可执行文件的完整路径,然后用完整的命令替换脚本中的命令/path/to/errlog

相关内容