shell取磁盘内存使用量

本地采集

#!/bin/bash
echo -e "\033[34m ----------磁盘(单位:G)---------- \033[0m"
#取df -h的除第一行的所有行第三列的值,只取G|T单位数值
diskinfo1=$(df -h |awk 'NR!=1 {print $3}'|egrep 'G'|sed 's/.$//g'|awk '{sum += $1} END {print sum}')
diskinfo2=$(df -h |awk 'NR!=1 {print $3}'|egrep 'T'|sed 's/.$//g'|awk '{print ($1 * 1024)}'|awk '{sum += $1} END {print sum}')
#echo -e "\033[32m $diskinfo1 \033[0m"
#echo -e "\033[32m $diskinfo2 \033[0m"
diskinfo=$(echo "$diskinfo1 $diskinfo2"|xargs -n 1 |awk '{sum += $1} END {print sum}')
echo -e "\033[32m $diskinfo \033[0m"
echo -e "\033[34m ----------内存(单位:M)---------- \033[0m"
mem=$(free -m|awk 'NR==2 {print$3}')
echo -e "\033[32m $mem \033[0m"

通过已实现免密登录的主机清单进行远程批量采集汇总

#!/bin/bash
#获取信息
#这里的主机都可免密登录,假如不能免密sshpass -p "密码" ssh user@ip可指定密码远程
read -p "请输入采集主机清单文件路径:" fileUrl
HOSTIP=$(
for i in $(cat $fileUrl)
do
echo $i
done
)
HOSTMEM=$(
for i in $(cat $fileUrl)
do
ssh $i "free -m" | awk 'NR==2 {print $3}'
done
)
HOSTDISK=$(
for i in $(cat $fileUrl)
do
diskinfo1=$(ssh $i "df -h" | awk 'NR!=1 {print $3}'|egrep 'G'|sed 's/.$//g'|awk '{sum += $1} END {print sum}')
diskinfo2=$(ssh $i "df -h" |awk 'NR!=1 {print $3}'|egrep 'T'|sed 's/.$//g'|awk '{print ($1 * 1024)}'|awk '{sum += $1} END {print sum}')
echo "$diskinfo1 $diskinfo2"|xargs -n 1 |awk '{sum += $1} END {print sum}'
done
)

#以行的形式追加写入文本
timestamp=`date '+%Y%m%d%H%M'`
echo $HOSTIP >> /tmp/inforc_$timestamp
echo $HOSTMEM >> /tmp/inforc_$timestamp
echo $HOSTDISK >> /tmp/inforc_$timestamp
#如果主机太多,则信息文本中列会太多,不方便阅读,将其列的内容取出来,并以行的形式重新写入文本
L=$(cat $fileUrl|wc -l)
for i in `seq 1 $L`
do
cat /tmp/inforc_$timestamp | awk -v t="$i" '{print $t}' | xargs >> /tmp/info_$timestamp
done
rm -rf /tmp/inforc_$timestamp
memsum=$(cat /tmp/info_$timestamp |awk '{print $2}'|awk '{sum += $1} END {print sum}')
disksum=$(cat /tmp/info_$timestamp |awk '{print $3}'|awk '{sum += $1} END {print sum}')
echo -e "\033[34m总计:\033[0m"
echo -e "\033[34m内存(单位:M):$memsum \033[0m"
echo -e "\033[34m磁盘(单位:G):$disksum \033[0m"
echo -e "\033[34m采集结果文件路径:/tmp/info_$timestamp \033[0m"

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值