용도 : 서버 제원 체크 및 apm 실행여부 확인
수준 : Centos6, Centos7 테스트 완료
특이사항 :
- 서버 제원 체크
ㄴ HDD, RAM, CPU 사용 현황 확인
ㄴ IP, Hostname, Kernel, OS명 조회 가능 - apm 실행여부 확인
ㄴ apm 각각 버전 확인 가능
ㄴ 실행 / 미실행 구분 가능
#!/bin/bash -l
rdate -s time.bora.net; /sbin/hwclock --systohc
function _Check_Base() {
service_type="q352 q361 q381 q382 q391 q552 q561"
os_version=$(cat /etc/redhat-release | awk -F'.' '{print $1}' | awk '{print $NF}')
os_fullname=$(cat /etc/redhat-release)
kernel_name=$(uname -r)
server_hostname=$(hostname | awk -F'.' '{print $1}')
hostname_type=$(hostname | awk -F'-' '{print $1}')
apache_yn=$(netstat -tnlp | grep httpd | grep -v "thttpd" | awk '{print $7}' | awk -F '/' '{print $2}')
#apache_version=$(httpd -v | head -n1 | awk '{print $3}')
#apache_version2=$(/usr/sbin/httpd -v | head -n1 | awk '{print $3}')
php_yn=$(which php | awk -F 'bin/' '{print $2}')
#php_version=$(php -v | head -n1 | awk '{print $1, $2}')
#php_version2=$(/usr/bin/php -v | head -n1 | awk '{print $1, $2}')
mysql_yn=$(netstat -tnlp | grep mysql | awk '{print $7}' | awk -F '/' '{print $2}')
#mysql_version=$(mysql -V | awk '{print $5}')
#mysql_version2=$(/usr/bin/mysql -V | awk '{print $5}')
cpu_top=$(top -bn1 | grep -i 'cpu(s)' | awk -F ',' 'substr($4,0,length($4)-3)' | head -n1 | awk '{print $1, $2, $3 ,$4, $5, $6, $7}')
disk_use=$(/sbin/fdisk -l | grep ^Disk | egrep /dev | head -n4 | awk '{print $2, $3, $4}')
memory_use=$(dmidecode --type 17 | grep -E "Memory|Size|Type|Speed" | grep -v "Type Detail" | grep -v "Configured Clock Speed" | grep -v "No Module Insta
lled" | grep -v "Unknown" | grep -v "Empty")
if [ ${os_version} -eq 6 ]
then
server_ip=$(ifconfig | egrep "inet addr" | egrep -v "127.0.0.1" | awk '{print $2}' | awk -F':' '{print $2}')
elif [ ${os_version} -eq 7 ]
then
server_ip=$(ifconfig | egrep "inet" | egrep -v "127.0.0.1|inet6" | awk '{print $2}')
else
echo "invalid os version !!"
exit 0
fi
check_service=$(echo ${service_type} | egrep "${hostname_type}" | wc -w)
if [ ${check_service} -eq 0 ]
then
echo "invalid service type (hostname) !!"
exit 0
fi
# if [ ${apache_yn} != "httpd" ]
# then
# echo "apache가 실행 되어있지 않습니다."
# exit 0
# fi
}
function _Write_Message() {
echo -e "==========================================================="
echo -e " \033[31;1m * 서버 상태 파악 *\033[m "
echo -e "==========================================================="
echo -e " 서버 IP는 \033[36;1m${server_ip}\033[m 입니다. "
echo "-----------------------------------------------------------"
echo -e " 서버 Hostname 은 \033[36;1m${server_hostname}\033[m 입니다. "
echo "-----------------------------------------------------------"
echo -e " 서버 OS 명은 \033[36;1m${os_fullname}\033[m 입니다. "
echo "-----------------------------------------------------------"
echo -e " 서버 Kernel 명은 \033[36;1m${kernel_name}\033[m 입니다. "
echo "-----------------------------------------------------------"
if [ -z ${apache_yn} ]
then
echo -e "\033[31;1m Apache가 실행 되어있지 않습니다.\033[m"
else
apache_version=$(httpd -v | head -n1 | awk '{print $3}')
echo -e " 서버 Apache 버전은 \033[36;1m${apache_version}\033[m 입니다. "
fi
echo "-----------------------------------------------------------"
if [ -z ${php_yn} ]
then
echo -e "\033[31;1m PHP가 설치 되어있지 않습니다.\033[m"
else
php_version=$(php -v | head -n1 | awk '{print $1, $2}')
echo -e " 서버 PHP 버전은 \033[36;1m${php_version}\033[m 입니다. "
fi
echo "-----------------------------------------------------------"
if [ -z ${mysql_yn} ]
then
echo -e "\033[31;1m Mysql이 실행 되어있지 않습니다.\033[m"
else
mysql_version=$(mysql -V | awk '{print $5}')
echo -e " 서버 Mysql 버전은 \033[36;1m${mysql_version}\033[m 입니다. "
fi
echo "-----------------------------------------------------------"
echo -e " 서버 Cpu 사용량은 \033[36;1m${cpu_top}\033[m 입니다. "
echo "-----------------------------------------------------------"
echo " 사용중인 서버 HDD "
echo "-----------------------------------------------------------"
echo -e "\033[36;1m${disk_use}\033[m"
echo "-----------------------------------------------------------"
echo " 사용중인 서버 Memory (Slot별로 확인가능) "
echo "-----------------------------------------------------------"
echo -e "\033[36;1m${memory_use}\033[m"
echo "-----------------------------------------------------------"
}
function _Main() {
_Check_Base
_Write_Message
}
_Main
'Language > bash shell' 카테고리의 다른 글
| apache+tomcat 설치 스크립트 (0) | 2023.11.04 |
|---|---|
| 실시간 트래픽 측정하기 (0) | 2023.11.04 |