1. #!/bin/bash
    2. #===============================
    3. system_info()
    4. {
    5. echo "====================系统信息========================"
    6. VERSION=`cat /etc/redhat-release| awk 'NR==1{print}'`
    7. KERNEL=`uname -a|awk '{print $3}'`
    8. HOSTNAME=`uname -a|awk '{print $2}'`
    9. cat /etc/issue &> /dev/null
    10. if [ "$?" -ne 0 ];then
    11. echo -e "\033[31m The system is no support \033[0m"
    12. exit 1
    13. else
    14. echo -e "system_version is \033[32m $VERSION \033[0m"
    15. echo -e "system_kernel_version is \033[32m $KERNEL \033[0m"
    16. echo -e "system_hostname is \033[32m $HOSTNAME \033[0m"
    17. fi
    18. }
    19. disk_info ()
    20. {
    21. echo "======================磁盘信息========================"
    22. DISK=$(df -ThP|column -t)
    23. echo -e "\033[32m $DISK \033[0m"
    24. }
    25. cpu_info ()
    26. {
    27. echo "=======================CPU信息========================"
    28. echo -e "cpu processor is \033[32m $(grep "processor" /proc/cpuinfo |wc -l) \033[0m"
    29. echo -e "cpu mode name is \033[32m $(grep "model name" /proc/cpuinfo |uniq|awk '{print $4,$5,$6,$7,$8,$9}') \033[0m"
    30. grep "cpu MHz" /proc/cpuinfo |uniq |awk '{print $1,$2":"$4}'
    31. awk '/cache size/ {print $1,$2":"$4$5}' /proc/cpuinfo |uniq
    32. }
    33. mem_info ()
    34. {
    35. echo "====================内存信息========================"
    36. MemTotal=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
    37. MemFree=$(awk '/MemFree/ {print $2}' /proc/meminfo)
    38. Buffers=$(awk '/^Buffers:/ {print $2}' /proc/meminfo)
    39. Cached=$(awk '/^Cached:/ {print $2}' /proc/meminfo)
    40. FreeMem=$(($MemFree/1024+$Buffers/1024+$Cached/1024))
    41. UsedMem=$(($MemTotal/1024-$FreeMem))
    42. echo -e "Total memory is \033[32m $(($MemTotal/1024)) MB \033[0m"
    43. echo -e "Free memory is \033[32m ${FreeMem} MB \033[0m"
    44. echo -e "Used memory is \033[32m ${UsedMem} MB \033[0m"
    45. }
    46. loadavg_info ()
    47. {
    48. echo "==================负载均衡信息===================="
    49. Load1=$(awk '{print $1}' /proc/loadavg)
    50. Load5=$(awk '{print $2}' /proc/loadavg)
    51. Load10=$(awk '{print $3}' /proc/loadavg)
    52. echo -e "Loadavg in 1 min is \033[32m $Load1 \033[0m"
    53. echo -e "Loadavg in 5 min is \033[32m $Load5 \033[0m"
    54. echo -e "Loadavg in 10 min is \033[32m $Load10 \033[0m"
    55. }
    56. network_info ()
    57. {
    58. echo "====================网络信息======================="
    59. network_card=$(ip addr |grep inet |egrep -v "inet6|127.0.0.1" | awk '{print $NF}')
    60. IP=$(ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}')
    61. echo -e "network_device is \033[32m $network_card \033[0m address is \033[32m $IP \033[0m"
    62. }
    63. system_info
    64. disk_info
    65. cpu_info
    66. mem_info
    67. loadavg_info
    68. network_info