码迷,mamicode.com
首页 > 系统相关 > 详细

linux 脚本实现批量ssh远程kill进程

时间:2016-06-23 19:11:03      阅读:315      评论:0      收藏:0      [点我收藏+]

标签: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进程

标签:linux ssh kill 进程

原文地址:http://zhangdl.blog.51cto.com/11050780/1792179

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!