求大神写个脚本

[复制链接]
查看11 | 回复4 | 2021-1-27 06:45:08 | 显示全部楼层 |阅读模式
有个文件ip.txt,里面有100多台服务器的IP,如何通过sshpass,查看每台机子的进程是否存在还有磁盘的利用率。谢谢
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:45:08 | 显示全部楼层
这100多台机子的用户名和密码是一样的
回复

使用道具 举报

千问 | 2021-1-27 06:45:08 | 显示全部楼层
你为什么不用zabbix呢?
回复

使用道具 举报

千问 | 2021-1-27 06:45:08 | 显示全部楼层
代码来了,
#!/bin/sh
#readfileandcheckdisk
foriin`catxxx..txt`
do
ps|grep-i${i}
if[$?-eq0]
then
echo"FindtheIPaddressintheprocess"
elif[$?-eq1]
then
echo"Didn'tFindtheIPaddressintheprocess"
fi
done
查看利用率就在循环里加上grepiotop不知道你装了没有.
回复

使用道具 举报

千问 | 2021-1-27 06:45:08 | 显示全部楼层
闲着也是闲着,写了一个,楼主看看功能上能不能用(自测通过)。
如果远程连接失败结果文件中记录FAIL,如果成功则会把磁盘使用情况一并拉过来写到文件里面。
#!/bin/bash
#AUTHOR:LIAN
#DATE:2015-8-21
#Description:Interactivewithotherserverswithsshpass.
SERVERLISTFILE="/usr/src/ip.txt"
SERVERLIST=""
PASSWDFILE="/usr/src/passwd_file.txt"
CHECKRESULT="/usr/src/checking_result.txt"

if[-e$SERVERLISTFILE];then
SERVERLIST=`catip.txt`
else
echo"IPlistfile[$SERVERLISTFILE]doesnotexist!"
exit1
fi
if[!-e$PASSWDFILE];then
echo"Passwordfile[$PASSWDFILE]doesnotexits!"
exit2
fi
if[!-e$CHECKRESULT];then
touch$CHECKRESULT
else
echo>$CHECKRESULT
fi
forserverin$SERVERLIST
do
echo-n"$server:">>$CHECKRESULT
#Checkingprocesssshexists
sshpass-f$PASSWDFILEssh-oStrictHostKeyChecking=noroot@$server"psaxu|grepssh">>/dev/null
if[$?-eq0];then
echo"ProcessstatusOK">>$CHECKRESULT
#Checkingdiskusingstatus
echo"DISKUSINGSTATUS:">>$CHECKRESULT
sshpass-f$PASSWDFILEssh-oStrictHostKeyChecking=noroot@$server"df-h">>$CHECKRESULT
else
echo"FAILconnecting">>$CHECKRESULT
fi
echo>>$CHECKRESULT
done
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行