我的目的是显示从远程服务器加载avg和RAM使用率到24/7 LCD面板上的统计数据。我希望信息每1-3秒更新一次。
其他线程建议使用SSH命令检索信息。
ssh root@192.168.1.252 uptime && cat /proc/meminfo
使用SSH适合我的目的,我关心的是
那里有没有这样的包裹,还是我必须自己编码?我宁愿保持连接打开以减少开销。我不需要加密,因为两台服务器都在局域网上。
提前致谢。
答案 0 :(得分:1)
有几点需要注意:
root
。对于uptime
和cat /proc/meminfo
,您当然不需要root
。使用其他用户。请注意这两者之间的区别:
ssh user@hostname uptime && cat /proc/meminfo
ssh user@hostname 'uptime && cat /proc/meminfo'
第一个将在本地计算机上执行cat /proc/meminfo
,第二个将在远程执行它。我想你想使用第二个版本。 (您想要远程机器的CPU信息,而不是本地机器,是吗?)
您可以使用连接多路复用一举两得:减少建立新连接的开销,避免污染服务器日志。为此,请在~/.ssh/config
文件中添加如下配置:
Host somename
User the_username
Hostname the_hostname
ControlMaster auto
ControlPath ~/.ssh/master-somename
您可以选择任何somename
,它就像一个别名。使用此设置,您可以简单地连接到服务器:
ssh somename
虽然此远程会话仍处于活动状态(直到您注销),但您可以从另一个终端打开新连接,他们将重用现有连接,绕过身份验证并有效消除新连接的开销。
在使用慢速远程服务器时,这实际上是一种常见的技巧,其中建立新连接是一个明显的开销。事实上,我使用此设置将其应用于我使用的所有远程服务器:
Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p