#bin/bash
function echo_color() {
read color
if [ $color == "green" ]; then
echo -e "\033[32;40m$color\033[0m"
elif [ $color == "red" ]; then
echo -e "\033[31;40m$color\033[0m"
fi
}
echo_color
批量创建用户
#bin/bash
for USER in us_er{8..9}
do
PASS=`echo $RANDOM|md5sum|cut -c 1-8`
useradd $USER
echo "$PASS"|passwd --stdin $USER
echo -e "$USER:$PASS" >> user_list
echo "$USER create successful!"
done
检查软件包是否安装
#!/bin/bash
if rpm -q sysstat &>/dev/null; then
echo "sysstat is already installed."
else
echo "sysstat is not installed!"
fi
检查服务状态
#!/bin/bash
PORT_C=$(ss -anu |grep -c 123)
PS_C=$(ps -ef |grep ntpd |grep -vc grep)
if [ $PORT_C -eq 0 -o $PS_C -eq 0 ]; then
echo "内容" | mail -s "主题" 邮箱.com
fi
检查主机存活状态
#!/bin/bash
IP_LIST="10 20 30 40"
for IP in $IP_LIST; do
NUM=1
while [ $NUM -le 3 ]; do
if ping -c 1 192.168.1.$IP > /dev/null; then
echo "192.168.1.$IP Ping is successful."
break
else
# echo "$IP Ping is failure $NUM"
FAIL_COUNT[$NUM]=192.168.1.$IP
let NUM++
fi
done
if [ ${#FAIL_COUNT[*]} -eq 3 ];then
echo "${FAIL_COUNT[1]} Ping is failure!"
unset FAIL_COUNT[*]
fi
done
监控cpu、内存使用率
监控cpu
#!/bin/bash
DATE=$(date +%F" "%H:%M)
IP=$( ifconfig br0|awk -F' ' 'NR==2{print $2}')
#IP=$(ifconfig eth0 |awk -F ' :+' '/inet addr/{print $4}' ) # 只支持CentOS6
MAIL="example@mail.com"
if ! which vmstat &>/dev/null; then
echo "vmstat command no found, Please install procps package."
exit 1
fi
US=$(vmstat |awk 'NR==3{print $13}' )
SY=$(vmstat |awk 'NR==3{print $14} ')
IDLE=$(vmstat |awk 'NR==3{print $15}')
WAIT=$(vmstat |awk 'NR==3{print $16}' )
USE=$(($US+$SY))
if [ $USE -ge 50 ]; then
echo "
Date: $DATE
Host: $IP
Problem: CPU utilization $USE" | mail -s "CPU Monitor" $MAIL
fi