• linux日常巡检脚本


    ######################以下是脚本内容开始部分######################################

    #!/bin/bash

    #set -x
    2012-02-25
    #version: 2.0
    export LC_ALL="en_US.UTF-8"
     
    server_info(){
    echo ====================================================
    #echo ======Time======
    #date
    echo ======1 hostname======
    /bin/hostname
    echo ======2 IP MASK======
    /sbin/ifconfig eth0|grep "inet addr:"|awk '{print $2,"/ "$4}'
    echo ======3 Gateway======
    cat /etc/sysconfig/network|grep GATEWAY|awk -F "=" '{print $2}'
    echo ======4 Product Name======
    dmidecode | grep -A10 "System Information$" |grep "Product Name:"|awk '{print $3,$4,$5}'
    ##echo ======Host SN======
    ##dmidecode | grep -A10 "System Information$" |grep "Serial Number:"|awk '{print "SN:",$3}'
    echo ======5 CPU ======
    cat /proc/cpuinfo|grep "name"|cut -d: -f2 |awk '{print "*"$1,$2,$3,$4}'|uniq -c
    echo ======6 Physical memory number======
     dmidecode | grep -A 16 "Memory Device$" |grep Size:|grep -v "No Module Installed"|awk '{print "*" $2,$3}'|uniq -c
    echo ======7 System version ======
    cat /etc/issue | head -1
    echo =========================================================
    }
     
    OS_info(){
    echo ==========================================================
    echo ======1 kernel version ======
    uname -a
    echo ======2 running day ======
    /usr/bin/uptime |awk '{print $3,$4}'
    echo ==========================================================
    }
     
    performance_info(){
    echo ==========================================================
    echo ======1 CPU used ======
    top -n 1 |grep C[Pp][Uu] |grep id|awk '{print $5}'|awk -F "%" '{print $1}'
    #cpu_total=$(cat /proc/stat | grep 'cpu ' | awk '{print $2+$3+$4+$5+$6+$7+$8}')
    #cpu_idle=$(cat /proc/stat | grep 'cpu ' |awk '{print $5}')
    #cpu_use=`expr 100-"$cpu_idle/$cpu_total*100"|bc -l`
    #echo $cpu_total
    #echo $cpu_idle
    #echo $cpu_use
    echo ======2 memory used ======
    #free -m |grep Mem|awk '{print $2,$3}'
    mem_total=$(free -m |grep Mem|awk '{print $2}')
    mem_used=$(free -m |grep Mem|awk '{print $3}')
    mem_rate=`expr $mem_used/$mem_total*100|bc -l`
    echo $mem_rate
    echo ======3 swap used ======
    #free -m |grep Swap|awk '{print $2,$3}'
    Swap_total=$(free -m |grep Swap|awk '{print $2}')
    Swap_used=$(free -m |grep Swap|awk '{print $3}')
    Swap_rate=`expr $Swap_used/$Swap_total*100|bc -l`
    echo $Swap_rate
    echo ======4 top pic ======
    top -b -n 1|head -25
    echo ==========================================================
    }
     
    sec_info(){
    echo ======1 user load ======
    w
    echo ======2 file used ======
    df -ah
    echo ======3 demsg error======
    dmesg |grep fail
    dmesg |grep error
    echo ======4 demsg error======
    lastlog
    }

    system_hardware_config(){
    echo ===========================disk====================================
    df -H |awk "{OFS=" "}{ print $1,$2,$3,$4,$5,$6}"
    echo ===========================free====================================
    free |head -1 |awk "{OFS=" "} {print $1,$2,$6}"
    free -m |awk "BEGIN{OFS=" "}{if (NR==2 ||NR==4 )print $2,$3,$7}"
    }
     
    server_info>>$(/bin/hostname)-`date +%F`
    OS_info>>$(/bin/hostname)-`date +%F`
    performance_info>>$(/bin/hostname)-`date +%F`
    sec_info>>$(/bin/hostname)-`date +%F`

    echo "run Ok"

    ######################这是脚本内容结束部分######################################

    日常LINUX巡检命令:
    hostname
    uname -a
    netstat -rn
    ifconfig -a
    cat /etc/sysconfig/hwconf
    cat /proc/meminfo
    cat /proc/cpuinfo
    cat /proc/swaps
    sfdisk -g
    df –k
    sfdisk –g
    dmesg
    more /var/log/boot.log
    more /var/log/messages



    以前写的linux服务器的日常巡检脚本:
     
    1、需巡检的服务器上定时执行:

    ##############脚本开始############################
    #!/bin/sh
    echo "------------ daily check begin -----------------" >>dc1.txt
    #cd /home/wjlcn/monitor/check
    cd /home/wjlcn/monitor/check/
    date=`date +%c`
    filename=`hostname`_check_`date +%Y%m%d`.txt
    echo "-----------sar -ru 10 3----------------" >>dc1.txt
    sar -ru 10 3 |sed -n '21,25p' >>dc1.txt
    echo "------------top -d 1 -n 1 -------------" >>dc1.txt
    /usr/bin/top  -b -d 1 -n 1 |sed -n '1,10p' |awk '{print $9,$12}' >top1.txt
    sed '1,7d' top1.txt >>dc1.txt

    echo "------------free -m ----------------" >>dc1.txt
    free -m >>dc1.txt
    echo "--------------df -h ---------------" >>dc1.txt
    df -h >>dc1.txt
    echo "----------  tripwire --check ----------">> dc1.txt
    /usr/sbin/tripwire --check|sed -n '10p;18p;33,37p' >>dc1.txt
    echo $date >>$filename
    cat dc1.txt >>$filename
    echo $date >>$filename
    echo "--------------- the end ---------------" >>$filename
    rm dc1.txt top1.txt
     
    2、定时上传至ftp服务器
    #!/bin/sh
    cd /home/itownet/monitor/check
    LOFFILE=ftp.log
    ftp -n >>$LOFFILE <<EOF
    open IP
    user user  password
    binary
    cd test/pcreport
    put *.txt
    bye
    EOF
     ########################脚本结束###########################
    这样就只需在ftp服务器上巡检所有的服务器即可

  • 相关阅读:
    gdb 查看变量~p长串末尾省略号, 一个页面显示不完
    Git 在团队中的最佳实践--如何正确使用Git Flow[转]
    apktool+dex2jar+xjad反编译android程序
    浏览器缓存详解:expires,cache-control,last-modified,etag详细说明
    64位windows 7下成功配置TortoiseGit使用Github服务器
    github简单使用教程
    浅淡HTML5移动Web开发
    Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系
    深入浅出Symfony2
    利用PHP取二进制文件头判断文件类型
  • 原文地址:https://www.cnblogs.com/peter316/p/6287196.html
Copyright © 2020-2023  润新知