linux 脚本实现批量ssh远程kill进程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 脚本实现批量ssh远程kill进程相关的知识,希望对你有一定的参考价值。
前言:
公司有150多台服务器,在每一台服务器上都部署了脚本,然后这个脚本一直在运行,出现了一些问题,现在要远程批量干掉这些进程,折腾了半天,如下脚本可以实现
脚本:
#/bin/bash
for i in `cat /home/zhangdl/old/ip.txt | grep -i -v port | awk ‘{print $2}‘`
do
ssh -p 888 $i "ps aux | grep -v grep | grep Amateurback.sh | awk ‘{print \$2}’| xargs kill"
if [ $? == 1 ];then
echo $i >> /home/zhangdl/old/error.txt
fi
done
解析:
(1)ip.txt里边的格式如下,不方便的字眼使用XXX代替
XXX基地 61.190.XX.XX XXXjidi XXX,XXX,XXX,XXX,XXX
(2)为了安全,将ssh端口设置为其它端口,假设这里是888端口,如果是22端口,会是“XXX基地(PORT 22)”,剩余的是其它端口
(3)将ip筛选出来后进行遍历
ssh -p 888 "ps aux | grep -v grep | grep Amaterback.sh | awk ‘{print \$2}‘ xargs kill"
选出进程号之后交给xargs kill掉,ssh结合awk使用需将$符号转义,这里不管你那边起了几个进程,只要满足条件,都会kill掉。
本文出自 “庭中有奇树” 博客,请务必保留此出处http://zhangdl.blog.51cto.com/11050780/1792179
以上是关于linux 脚本实现批量ssh远程kill进程的主要内容,如果未能解决你的问题,请参考以下文章
shell脚本中ssh命令远程调用java启动脚本无法启动java进程
shell脚本实现ssh-copy-id批量自动发送公钥到远程主机