【发布时间】:2021-03-07 15:49:56
【问题描述】:
我有一个监控特定服务器的脚本,提供磁盘使用情况、CPU 使用情况等。我正在使用 2 个 Ubuntu VM:我使用 SSH 在服务器上运行脚本(来自第一个 VM 的ssh user@ip < script.sh),我想让它实时显示值,所以我尝试了在这里找到的 2 种方法:
1。 while 与 clear 循环
第一种方法是使用带有“clear”的while循环来使脚本多次运行,每次都给出新值并清除以前的输出,如下所示:
while true
do
clear;
# bunch of code
done
这里的问题是它没有清除终端,它只是不断打印新的结果。
2。 watch
第二种方法使用watch:
watch -n 1 Script.sh
这在本地机器上运行良好(监控脚本所在的当前机器),但我找不到让它通过 SSH 运行的方法。类似的东西
ssh user@ip < 'watch -n 1 script.sh'
原则上有效,但要求脚本存在于服务器上,我想避免这种情况。有没有办法运行watch 来远程执行(通过SSH)本地机器上的脚本?
【问题讨论】:
标签: linux bash ssh monitoring watch