2012-11-15 2 views
0

내 환경에 맞게 수정할 수 없습니다.이 기능은 check_disc이지만 내 환경에서는 디스크가/dev/mapper /를 통해 연결된 곳에서 올바르게 작동하지 않습니다. 예를 들어 이 있습니다./var 대신/dev/mapper/debian-var를 사용하십시오. BASH 스크립트에서여유 공간 모니터링 목적을위한 BASH 스크립트 수정

기능 :이 줄은 것 같아요 변경해야

df -kl 
Filesystem   1K-blocks  Used Available Use% Mounted on 
/dev/mapper/debian-root 
         1919048 493616 1327948 28%/
tmpfs     18717148  12 18717136 1% /lib/init/rw 
udev      10240  784  9456 8% /dev 
tmpfs     18717148   0 18717148 0% /dev/shm 
/dev/cciss/c0d0p1  241116  23679 204989 11% /boot 
/dev/mapper/debian-home 
         3842104 2681264 965668 74% /home 
/dev/mapper/debian-tmp 
         4805760 366228 4195412 9% /tmp 
/dev/mapper/debian-usr 
         3842104 1816200 1830732 50% /usr 
/dev/mapper/debian-var 
        377857560 183429768 175233732 52% /var 

: DF -kl cmd를의

function check_disks { 

    THOLD=$1; 
    DISK_ERROR=""; 

    # df -kl is the most portable options for df 

    MOUNTS=`df -lk | grep -v devfs | grep -v none | grep -v Filesystem | awk '{print $6}'`; 
    for MOUNT in $MOUNTS; do 
     PERCENT=`df -kl $MOUNT | grep -v Filesystem | awk '{print $5}' | sed 's/\%//'`; 
     if [ $PERCENT -gt $THOLD ]; then 
      DISK_ERROR="$DISK_ERROR Volume '$MOUNT' is at $PERCENT% usage.\n"; 
     fi 
    done 
    if [ -n "$DISK_ERROR" ]; then 
     echo -en "ERROR: The following volumes have exceeded the allowable threshold of $THOLD% usage.\n$DISK_ERROR"; 
     return 1; 
    else 
     return 0; 
    fi 

} 

출력

MOUNTS=`df -lk | grep -v devfs | grep -v none | grep -v Filesystem | awk '{print $6}'`; 

하지만 방법을 잘. 누구든지 나를 도와 줄 수 있니? 들으

볼륨 당 한 줄에 출력을 유지 df에 휴대 옵션이

답변

0

: 도움이 될

MOUNTS=`df -lkP | grep -v devfs | grep -v none | grep -v Filesystem | awk '{print $6}'` 

에 내가

MOUNTS=`df -lk | grep -v devfs | grep -v none | grep -v Filesystem | awk '{print $6}'` 

을 변경하는 생각

-P, --portability 
      use the POSIX output format 

가 . 전체 얻을 수 있지만 그게 전부 경우 그 경고의 원인이되므로 내가/홈 디렉토리를 explude 수있는 경우

$ df -lk | grep -B1 /var 
/dev/mapper/rootvg-var 
        4062912 1900724 1952476 50% /var 
$ df -lkP | grep /var 
/dev/mapper/rootvg-var 4062912 1900748 1952452  50% /var 
+0

확인, 주요 질문에 대한 답변, 그것은 편리 할 것 :

참고

, 여기에 출력 차이의 예입니다 서버의 안정성에 관해서는 정말로 importat. 그냥 btw :} – user1821820

+0

그냥'| grep -v/home' 명령을 실행하면'/ home'을 제거 할 수 있습니다. 그것이 당신이 의미하는 바라면. –

관련 문제