如何ssh到服务器并获取CPU和内存的详细信息



我正在编写一个shell脚本,我想在其中ssh到服务器,并获得显示的cpu和内存详细信息数据。我在这里使用top命令的帮助。

脚本行:

ssh -q user@host -n “cd; top -n 1 | egrep ‘Cpu|Mem|Swap’”

但结果是

TERM environment variable is not set. 

我通过输入set | grep TERM在服务器中检查了相同的内容,得到的结果是TERM=xterm

请有人帮我做这件事。非常感谢。

尝试使用顶部-b标志:

ssh -q user@host -n "cd; top -bn 1 | egrep 'Cpu|Mem|Swap'"

这个命令告诉top以非交互方式运行,并适用于这种用途。

top需要一个环境。您必须添加参数-t才能得到结果:

ssh -t user@host -n "top -n 1 | egrep 'Cpu|Mem|Swap'"

明白了。。!!需要对下面的脚本行做一个小的修改

ssh -t user@host -n "top -n 1 | egrep 'Cpu|Mem|Swap'"

代替-t,我们需要给出-tt。它对我有效。

在ssh’ing之后执行命令top。它需要tty才能运行。使用-tt将启用强制伪tty分配。

感谢Stone为我提供了一个足够接近的答案!!:(

最新更新