shell脚本怎么实现A主机SSH到B主机,在从B主机SSH到C主机,然后在C主机执行ps -ef命令返回C主机的进程数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本怎么实现A主机SSH到B主机,在从B主机SSH到C主机,然后在C主机执行ps -ef命令返回C主机的进程数相关的知识,希望对你有一定的参考价值。
假设从主机A,检查主机B上的进程,需要在主机B上建立检查用户,例如叫x,
并设置通过public key认证登录SSH,不会可以google搜一下,
然后,在A机器上执行:
ssh x@B ~/command.sh > result.txt
command.sh就是B机器上放置在x目录下的脚本。
输出结果应该是写到了result.txt
或者另一种写法
result=`ssh x@B ~/command.sh`
结果直接保存到result变量中了。
暂时没有linux环境,所以没有实际测试,你自己试试吧
免费提供最新Linux技术教程书籍,入门自学书籍《linux就该这么学》,为开源技术爱好者努力做得更多更好追问
别这样,我在网上已经看到了这个。跟我问题有些偏差。。
参考技术A添加免密认证,避免用户输入密码交互
主机A执行: ssh-copy-id userb@hostB
主机B执行: ssh-copy-id userc@hostC
A上执行 ssh userb@hostB 'ssh userc@hostC ps -ef' 就可以看到C上返回到A的结果了
其他:如果提示没有key, 用ssh-keygen 一路回车生成即可。
我没用这种免密的,下面是我写的一个shell,但是脚本统计出来的数不对,
我112主机里面的java进程只有1个,但是上面脚本统计出来的是3个,求帮看看是哪里出了问题。
echo xx java xxx 这儿是一个
grep java 这儿是一个
实际 java
一共 三个
利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集
实现功能:
部署在linux上的java项目,怎么可以去判断另一台linux的多个进程是否在运行,并得到结果集,通过判断在页显示是否正常。
我所用的方法:
通过java执行本机shell脚本远程到另一台linux执行命令查看进程,并返回查到的结果,遇到的问题就是不知道怎么返回结果;
帮助:
希望可以帮忙解决一下,如有其它的解决方法也可以给我说一下只要可以执行,实现功能
需要在主机B上建立检查用户,例如叫x,
并设置通过public key认证登录SSH,不会可以google搜一下,
然后,在A机器上执行:
ssh x@B ~/command.sh > result.txt
command.sh就是B机器上放置在x目录下的脚本。
输出结果应该是写到了result.txt
或者另一种写法
result=`ssh x@B ~/command.sh`
结果直接保存到result变量中了。
暂时没有linux环境,所以没有实际测试,你自己试试吧本回答被提问者采纳
以上是关于shell脚本怎么实现A主机SSH到B主机,在从B主机SSH到C主机,然后在C主机执行ps -ef命令返回C主机的进程数的主要内容,如果未能解决你的问题,请参考以下文章
怎么在一个shell脚本中执行远程主机的另一个shell脚本?? ssh已经可以无密码登录了。
利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集