我想在几台机器上监控指定进程的性能。我想表演
ps -eo pcpu,pmem,resident,cutime,cstime,utime,cmd | grep -v grep | grep processToBeSupervised在多台机器上,每隔10秒启动一次监督作业,持续100秒,并将这些机器的标准输出返回给其中一台机器。所以脚本应该是这样的:
for i in 1 2 3 4 5 6 7 8 9 10
do
ps -eo pcpu,pmem,resident,cutime,cstime,utime,cmd | grep -v grep | grep processToBeSupervised
echo "--"
sleep 10
done例如,有5台机器,A、B、C、D和E。A启动监督作业,100秒后,A、B、C、D和E的报告应返回并存储在A的指定文件夹中。
我该如何写这篇文章。我只是不知道如何从一台机器向其他机器发出命令。
发布于 2014-02-07 16:26:20
您可以使用设置了公钥/私钥的ssh。
发布于 2014-02-07 16:28:14
在linux中创建一个bash脚本,比如"script.sh“
execute ps command on machine A
ssh to machine B and collect output of machine B
ssh root@machineB your ps command
ssh to machine C and collect output of machine C
ssh root@machineC your ps command
ssh to machine D and collect output of machine D
ssh root@machineD your ps command
ssh to machine E and collect output of machine E
ssh root@machineE your ps command从终端执行它
./script.sh | tee A's specified folder将此script.sh | tee A's specified folder放入crontab,以便在指定时间后自动执行supervise作业。
发布于 2014-02-07 16:31:02
您还可以让机器执行ps命令,并将其显示在安全的网页上,然后让机器A从这些机器获取wget。
https://stackoverflow.com/questions/21622557
复制相似问题