生产环境 shell 实例

批量监控服务器磁盘利用率

# 主机信息
vim host.info

192.168.1.202 root 22
192.168.1.81 root 22
192.168.1.85 root 22


# 监控脚本
#!/bin/bash

host_info=host.info

for ip in $(awk '!/^#/{print $1}' $host_info); do
    user=$(awk -v ip=$ip '{if(ip==$1){print $2}}' $host_info)
    port=$(awk -v ip=$ip '{if(ip==$1){print $3}}' $host_info)

    tmp_file=/tmp/disk.tmp
    ssh -p $port $user@$ip 'df -h' > $tmp_file

    use_rate_list=$(awk 'BEGIN{OFS="="}/^\/dev/{print $NF,int($5)}' $tmp_file)

    for use_rate in $use_rate_list; do
        partname=${use_rate%=*}
        userate=${use_rate#*=}
        if [ $userate -gt 20 ]; then
            echo "warning: $ip host $partname partition usage $userate"
        fi
    done
done

# 运行
./check_disk.sh 
warning: 192.168.1.202 host / partition usage 72
warning: 192.168.1.202 host /home partition usage 22
warning: 192.168.1.81 host /home partition usage 30
warning: 192.168.1.85 host / partition usage 74

猜你喜欢

转载自blog.csdn.net/mshxuyi/article/details/108150143