#!/bin/bash
INTO_PRINT(){
echo -e "\033[1;34m$(date "+%Y-%m-%d_%H:%M:%S") INFO:$1\033[0m"
}
ERR_PRINT(){
echo -e "\033[1;31m$(date "+%Y-%m-%d_%H:%M:%S") ERROR:$1\033[0m"
}
SUCCESS_PRINT(){
echo -e "\033[1;35m$(date "+%Y-%m-%d_%H:%M:%S") INFO:$1\033[0m"
}
#ip_list=` cat ./ceshi_ip_list.txt | awk '{print $1}'`
#该脚本的作用是进行批量登录或者批量执行命令
ip_list=(
192.168.1.174
192.168.1.195
192.168.1.156
192.168.1.30
192.168.1.161
192.168.1.64
192.168.1.66
)
if [ -z $1 ]
then
echo "脚本没有参数传入,开始批量登录主机测试"
for ip in ${ip_list[@]}
do
ssh-keygen -R $ip
timeout 5 sshpass -p "root@123" ssh -o StrictHostKeyChecking=no root@${ip} "pwd"
if [ $? -eq 0 ];then
SUCCESS_PRINT "$ip机器登录成功"
else
ERR_PRINT "$ip机器登录失败"
fi
done
else
echo "脚本有参数传入:$1 执行该命令"
for ip in ${ip_list[@]}
do
ssh-keygen -R $ip >>/dev/null 2>&1
INTO_PRINT "-----------$ip 开始执行 $1 命令 ---------------\n"
timeout 5 sshpass -p "root@123" ssh -o StrictHostKeyChecking=no root@${ip} "$1"
INTO_PRINT "-----------$ip 执行 $1 命令 结束 ---------------\n\n\n"
done
fi
shell脚本执行linux主机批量检测登录状态以及批量执行命令
最新推荐文章于 2024-06-23 11:29:56 发布