용도 : 서버 제원 체크 및 apm 실행여부 확인

수준 : Centos6, Centos7 테스트 완료

특이사항 : 

  1. 서버 제원 체크
    ㄴ HDD, RAM, CPU 사용 현황 확인
    ㄴ IP, Hostname, Kernel, OS명 조회 가능
  2. 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

+ Recent posts