반응형
이 스크립트를 활용하기 위해서는 HPE 에서 제공하는 perl script 와 xml 파일이 필요합니다.
해당 파일은 업로드 해두었습니다.
또한, Script 안에 list 파일을 확인하도록 되어 있으므로, List 파일 생성 및 Update가 필요합니다.
마지막 단에는 생성한 파일들에 대해 지우는 것을 물어보도록 되어있습니다.
#!/bin/bash
###########################################################################################
######## require locfg.pl, Get_EmHealth.xml
######## locfg.pl and Get_EmHealth.xml same path and in home_dir
######## perl locfg.pl -s [iLO IP] -f [Use config file] -u [User] -p [Password]
###########################################################################################
date=`date +%Y%d%m%H`
#need home_dir path changing
home_dir=/######/health_check
work_dir=/######/####/$date
mkdir -p $work_dir
hp_ilo_user="######"
hp_ilo_pass="######"
date
echo "================================================================================================================"
printf "%21s | %8s | %8s | %8s | %9s | %8s | %8s \n" Server_Name FAN TEMP POWER PROCESSOR MEMORY STORAGE
echo "================================================================================================================"
for ip in `cat $home_dir/ilo_check.list`
do
health_check_ip=`cat $home_dir/ilo_check.list | awk -F"," '{print $1}' <<< $ip`
server_name=`cat $home_dir/ilo_check.list | awk -F"," '{print $2}' <<< $ip`
perl locfg.pl -s $health_check_ip -f Get_EmHealth.xml -u $hp_ilo_user -p $hp_ilo_pass >> $work_dir/ilo_check.txt
cat $work_dir/ilo_check.txt | egrep "STORAGE STATUS|MEMORY STATUS|FANS STATUS|TEMPERATURE STATUS|PROCESSOR STATUS|POWER_SUPPLIES STATUS"| sed 's/[^a-z,A-Z,0-9,=]//g' | awk -F"=" '{print $2}' | xargs echo > $home_dir/health.txt
FAN=`awk '{print $1}' $home_dir/health.txt`
TEMP=`awk '{print $2}' $home_dir/health.txt`
POWER=`awk '{print $3}' $home_dir/health.txt`
PROCESSOR=`awk '{print $4}' $home_dir/health.txt`
MEMORY=`awk '{print $5}' $home_dir/health.txt`
STORAGE=`awk '{print $6}' $home_dir/health.txt`
printf "%21s | %8s | %8s | %8s | %9s | %8s | %8s \n" $server_name $FAN $TEMP $POWER $PROCESSOR $MEMORY $STORAGE
done
echo "Typed number 1 -> Remove File, 2 -> Not Remove File"
read count
echo "[$count]"
if [[ $count == "1" ]]
then
echo "Do you want really Remove File?"
echo "-------------------------------"
echo "Retyped the number"
read count1
if [[ $count1 == "1" ]]
then
rm -rf $work_dir
rm -rf $home_dir/health.txt
fi
else [[ -z $count ]] && [[ $count -gt 1 ]]
echo "Please check your typed number"
fi
정상적으로 실행 시 아래와 같습니다.
서버 이름은 가립니다.
반응형
'Command & Development > Shell Script' 카테고리의 다른 글
[ShellScript] DB, NFS Backup check (0) | 2023.07.18 |
---|---|
[ShellScript] Avamar Backup Check (0) | 2023.07.17 |
[Shell Script] Linux 설치 후 초기 설정 (0) | 2023.01.31 |
[Shell Script] Ubuntu Shell Script : unexpected operator (0) | 2022.11.16 |
[Shell Script] Progress Bar (0) | 2022.09.22 |