LINUX

    리눅스 시스템 간단모니터링하는 스크립트
    • 조회수 9,606
    • 작성일 2008-08-31
    •  

    1. check.sh 만들기 

    [root@isp-dns ~]# vi check.sh  

      #!/bin/sh
    echo -e "\n 1. Date :"
    date

    echo -e "\n 2. Disk size :"
    df -h

    echo -e "\n 3. Memory size :"
    free

    echo -e "\n 3-1. Memory status :"
    vmstat 2 5

    echo -e "\n 4. CPU and I/O status :"
    iostat 2 5

    echo -e "\n 5. Port scan :"
    netstat -an | grep LISTEN

    echo -e "\n 6. Remote connection process list :"
    netstat -atnp

    echo -e "\n 7. Check /tmp :"
    ls -al /tmp

    echo -e "\n 8. Check /var/tmp :"
    ls -al /var/tmp

    echo -e "\n 9.  Check mail count of Queue :"
    ls -l /var/spool/mqueue | wc -l

    echo -e "\n 10. Check execute process : "
    pstree

    echo -e "\n 11. check last connection user :"
    lastlog | grep -v "Once"


    echo -e "\n 12. Uptime"
    uptime

    echo -e "\n 13. current log in user list :"
    finger


    2. check 권한주기
    [root@isp-dns ~]# ls -al check.sh
    -rw-r--r--    1 root     root          385  1월 10 00:09 check.sh
    [root@isp-dns ~]# chmod 755 check.sh
    [root@isp-dns ~]# ./check.sh


    3. 크론텝에 등록하여 매일 메일로 받기

    [root@isp-dns ~]# crontab -e

    MAILTO=abc@adma.kr
    00 03,15 * * *  /usr/sbin/ntpdate time.bora.net &> /dev/null
    00 09 * * *     /home/ncadmin/disk.py
    00 07 * * * '/root/check.sh | mail -s "System Check ip address adma.kr " abc@adma.kr'


    4. 실행

    [root@isp-dns ~]# /root/check.sh | mail -s "System Check ip address yejin.pe.kr " abc@adma.kr

     

    트라블 슈팅

    [topasvga@localhost ~]$ ./check.sh
    ./check.sh: ./check.sh: cannot execute binary file

    =>   echo -e "\n 8. 최후접속자 점검"  <-   \n 때문에 안되는것임.  echo부분은 복사해서 넣지 말고 직접vi로 수정해야함.