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

时间:2018-07-27 16:30:05

标签: bash shell

我正在编写一个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

请有人帮我。非常感谢。

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

尝试使用顶部的-b标志:

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

这告诉top非交互式运行,并且is intended for this sort of use

答案 2 :(得分:0)

知道了.. !!需要对以下脚本行进行少量修改。

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

我们需要提供-t而不是-tt。它为我工作。

在ssh之后执行命令顶部。它需要运行tty。使用-tt将启用强制伪tty分配。

感谢斯托尼为我提供了足够接近的答案!! :)