zoukankan      html  css  js  c++  java
  • monitor.sh java脚本学习

    #! /bin/bash
    # unset any variable which system may be using
    # clear the screen


    while getopts ivh name
    do
    case $name in
    i)iopt=1;;
    v)vopt=1;;
    h)hopt=1;;
    *)echo "Invalid arg";;
    esac
    done
    #
    if [[ ! -z $iopt ]]
    then
    {
    wd=$(pwd)
    basename "$(test -L "$0" && readlink "$0" || echo "$0")" > /tmp/scriptname
    scriptname=$(echo -e -n $wd/ && cat /tmp/scriptname)
    su -c "cp $scriptname /usr/bin/monitor" root && echo "Congratulations! Script Installed, now run monitor Command" || echo "Installation failed"
    }
    fi

    if [[ ! -z $vopt ]]
    then
    {
    echo -e "tecmint_monitor version 0.1 Designed by Tecmint.com Released Under Apache 2.0 License"
    }
    fi
    if [[ ! -z $hopt ]]
    then
    {
    echo -e " -i Install script"
    echo -e " -v Print version information and exit"
    echo -e " -h Print help (this information) and exit"
    }
    fi

    if [[ $# -eq 0 ]]
    then
    {
    clear

    unset tecreset os architecture kernelrelease internalip externalip nameserver loadaverage

    # Define Variable tecreset
    tecreset=$(tput sgr0)

    # Check if connected to Internet or not
    ping -c 1 www.baidu.com &> /dev/null && echo -e 'E[32m'"Internet: $tecreset Connected" || echo -e 'E[32m'"Internet: $tecreset Disconnected"

    # Check OS Type
    os=$(uname -o)
    echo -e 'E[32m'"Operating System Type :" $tecreset $os

    # Check OS Release Version and Name
    ###################################
    OS=`uname -s`
    REV=`uname -r`
    MACH=`uname -m`

    GetVersionFromFile()
    {
    VERSION=`cat $1 | tr " " ' ' | sed s/.*VERSION.*= // `
    }

    if [ "${OS}" = "SunOS" ] ; then
    OS=Solaris
    ARCH=`uname -p`
    OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
    elif [ "${OS}" = "AIX" ] ; then
    OSSTR="${OS} `oslevel` (`oslevel -r`)"
    elif [ "${OS}" = "Linux" ] ; then
    KERNEL=`uname -r`
    if [ -f /etc/redhat-release ] ; then
    DIST='RedHat'
    PSUEDONAME=`cat /etc/redhat-release | sed s/.*(// | sed s/)//`
    REV=`cat /etc/redhat-release | sed s/.*release // | sed s/ .*//`
    elif [ -f /etc/SuSE-release ] ; then
    DIST=`cat /etc/SuSE-release | tr " " ' '| sed s/VERSION.*//`
    REV=`cat /etc/SuSE-release | tr " " ' ' | sed s/.*= //`
    elif [ -f /etc/mandrake-release ] ; then
    DIST='Mandrake'
    PSUEDONAME=`cat /etc/mandrake-release | sed s/.*(// | sed s/)//`
    REV=`cat /etc/mandrake-release | sed s/.*release // | sed s/ .*//`
    elif [ -f /etc/debian_version ] ; then
    DIST="Debian `cat /etc/debian_version`"
    REV=""

    fi
    if ${OSSTR} [ -f /etc/UnitedLinux-release ] ; then
    DIST="${DIST}[`cat /etc/UnitedLinux-release | tr " " ' ' | sed s/VERSION.*//`]"
    fi

    OSSTR="${OS} ${DIST} ${REV}(${PSUEDONAME} ${KERNEL} ${MACH})"

    fi

    ##################################
    #cat /etc/os-release | grep 'NAME|VERSION' | grep -v 'VERSION_ID' | grep -v 'PRETTY_NAME' > /tmp/osrelease
    #echo -n -e 'E[32m'"OS Name :" $tecreset && cat /tmp/osrelease | grep -v "VERSION" | grep -v CPE_NAME | cut -f2 -d"
    #echo -n -e 'E[32m'"OS Version :" $tecreset && cat /tmp/osrelease | grep -v "NAME" | grep -v CT_VERSION | cut -f2 -d"
    echo -e 'E[32m'"OS Version :" $tecreset $OSSTR

    architecture=$(uname -m)
    echo -e 'E[32m'"Architecture :" $tecreset $architecture


    kernelrelease=$(uname -r)
    echo -e 'E[32m'"Kernel Release :" $tecreset $kernelrelease


    echo -e 'E[32m'"Hostname :" $tecreset $HOSTNAME


    internalip=$(hostname -I)
    echo -e 'E[32m'"Internal IP :" $tecreset $internalip


    externalip=$(curl -s ipecho.net/plain;echo)
    echo -e 'E[32m'"External IP : $tecreset "$externalip


    nameservers=$(cat /etc/resolv.conf | sed '1 d' | awk '{print $2}')
    echo -e 'E[32m'"Name Servers :" $tecreset $nameservers


    who>/tmp/who
    echo -e 'E[32m'"Logged In users :" $tecreset && cat /tmp/who


    free -h | grep -v + > /tmp/ramcache
    echo -e 'E[32m'"Ram Usages :" $tecreset
    cat /tmp/ramcache | grep -v "Swap"
    echo -e 'E[32m'"Swap Usages :" $tecreset
    cat /tmp/ramcache | grep -v "Mem"


    df -h| grep 'Filesystem|/dev/sda*' > /tmp/diskusage
    echo -e 'E[32m'"Disk Usages :" $tecreset
    cat /tmp/diskusage


    loadaverage=$(top -n 1 -b | grep "load average:" | awk '{print $10 $11 $12}')
    echo -e 'E[32m'"Load Average :" $tecreset $loadaverage


    tecuptime=$(uptime | awk '{print $3,$4}' | cut -f1 -d,)
    echo -e 'E[32m'"System Uptime Days/(HH:MM) :" $tecreset $tecuptime


    unset tecreset os architecture kernelrelease internalip externalip nameserver loadaverage

    rm /tmp/who /tmp/ramcache /tmp/diskusage
    }
    fi
    shift $(($OPTIND -1))
    # shift命令用于对参数的移动(左移)。可以查看http://blog.csdn.net/zhu_xun/article/details/24796235
    #

  • 相关阅读:
    用wamp配置的环境,想用CMD连接mysql怎么连
    Mysql删除表
    MySQL创建表
    Leetcode 130. Surrounded Regions
    Leetcode 111. Minimum Depth of Binary Tree
    Leetcode 110. Balanced Binary Tree
    Leetcode 98. Validate Binary Search Tree
    Leetcode 99. Recover Binary Search Tree
    Leetcode 108. Convert Sorted Array to Binary Search Tree
    Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
  • 原文地址:https://www.cnblogs.com/zhoading/p/9072916.html
Copyright © 2011-2022 走看看