Avatar billede nubo Nybegynder
29. september 2000 - 10:43 Der er 28 kommentarer og
1 løsning

plads check

ok, her er en lille opgave, jeg er startet med bsd for 2md siden, så jeg er ikke lige en haj..\"endnu\"

jeg er ved at lave et lille script som køre via cron, scriptet skal gå ind og checke hvor meget plads der er tilbage de forskille steder...\"dk -k | grep dev\"..., når det er gjort skal den tage første linje og checke den, den ser måske sådan her ud...\"/dev/vg00/lvol3    143360  36755  99957  27%  /var, det jeg vil have den til at at den skal tage og kigge på %, og det er større end lad os sige 90%, så skal den så gøre noget andet, når det er gjort skal den tage næste linje...\"det er jo forskillet fra maskine til maskine, nogle har måske 5 linjer imens andre har 10..

Det eneste der måske kan være et problem er % tegnet, men det kan man fjerne med...\"df -k | grep dev | cut -d \"%\" -f 1  \", men resten kan jeg ikke lige få til at \"spille\"....

Help please....  :o)
Avatar billede erikjacobsen Ekspert
29. september 2000 - 10:49 #1
Må det være i Perl ?
Avatar billede nubo Nybegynder
29. september 2000 - 11:17 #2
jeg aner det ikke, men prøv, så finder jeg ud af om det virker  :o)
Avatar billede erikjacobsen Ekspert
29. september 2000 - 11:24 #3
Jo, men du kunne jo lige fortælle mig om du har Perl installeret?
Avatar billede nubo Nybegynder
29. september 2000 - 11:28 #4
ggg.. nå ja, det har jeg ikke....sss
Avatar billede erikjacobsen Ekspert
29. september 2000 - 11:32 #5
Det burde du. Græsset bliver grønnere, vejret bliver bedre, og Nyrup
bliver klogere. Så du bør altså have Perl når leger med en Unix-variant.

Så vil jeg lade spørgsmålet stå til en anden.
Avatar billede nubo Nybegynder
29. september 2000 - 11:36 #6
nu er det sådan at det er på mit arjbede jeg har det, og jeg er ikke liiiiiiiiiiige helt herre over hvad der skal ligge på, og den med Nyrup tror jeg ikke lige virker, den mand kan sgu ikke blive klog......ggg
Avatar billede erikjacobsen Ekspert
29. september 2000 - 11:46 #7
;-) Prøv det og se...
Avatar billede nubo Nybegynder
29. september 2000 - 11:49 #8
Hmmmmmmm, problemet er at jeg ikke bare kan gøre som det passer mig  sss
Avatar billede kimsom Nybegynder
29. september 2000 - 12:26 #9
Du må prøve dig frem med \"cut\" tallene. 55-80 bør være incl. 1 space for path.

df -k | tail +2 | cut -c49-50,55-80 |
while read SPACE FILESYS
do
  if [ $SPACE -ge 90 ]
  then
    echo \"ALARM $FILESYS is at or above $SPACE percent\"
  fi
done
Avatar billede victor44 Nybegynder
29. september 2000 - 12:29 #10
Kan du ikke snige dig ind og montere den perl ?
Det er sgu da tillokkende.
Giv det en chance.
Tænk hvis det virker bare en lille smule.

Please....

:-)
Avatar billede nubo Nybegynder
29. september 2000 - 12:45 #11
Kimsom........
problemet med den cut du skriver er, du kan ikke gå ud fra at den samme cut..\"cut -c49-0\", giver det samme resultat hvis du skriver det på en anden maskine, jeg for bla  \" / \" resulata hvis jeg skriver \"cut -c49-50\", måden at fjerne % tegnet på er \"cut -d \"%\" -f 1\", scriptet skal være klog nok til at sige \" ok, jeg har så mange linjer, og nu checker jeg den første, og så vidre til næste\".....
Avatar billede nubo Nybegynder
29. september 2000 - 12:48 #12
Victor44.........
tror ikke at det er en god ide, men det er ok, jeg ved at det skal kunne lade sig gøre unden nogle ekstra programmer, og jeg \"vil\" lave det i kun unix, for jeg kommer nok til at bruge det på andre maskiner, og jeg har ikke lyst til at installere en masse ting bare for et script....  :o)
Avatar billede victor44 Nybegynder
29. september 2000 - 12:52 #13
I know..

Det var bare tanken om det måske kunne forbedre vort demokratis situation der virkede tillokkende på mig ;-)
Det var et absolut useriøst indlæg fra min side.  Beklager.

Jo det må kunne lade sig gøre med de værktøjer der er til rådighed i shell\'en.
Ingen grund til at skyde kanoner med gråspurve........
Avatar billede victor44 Nybegynder
29. september 2000 - 12:53 #14
Hedder ordren i øvrigt ikke df ?

Avatar billede nubo Nybegynder
29. september 2000 - 13:00 #15
Victor44.......

jeg er ikke lige med på det sidste spørgsmål, kan jeg lige for den en gang mere  :o)
Avatar billede victor44 Nybegynder
29. september 2000 - 13:24 #16
Du skriver : dk -k  osv.

Avatar billede kimsom Nybegynder
29. september 2000 - 13:26 #17
OK OK  hvad så med denne her ....

df -k | tail +2 |
while read FILESYS ALLOC USED AVAIL CAPACITY MOUNT
do
  CAPACITY=`echo $CAPACITY | cut -d% -f1`
  if [ $CAPACITY -ge 90 ]
  then
    echo \"ALARM $MOUNT is at or above $CAPACITY percent\"
  fi
done
Avatar billede nubo Nybegynder
29. september 2000 - 13:34 #18
Victor........

UPS....ggggg, jo det er df -k.gggg
Avatar billede kimsom Nybegynder
29. september 2000 - 13:40 #19
df -k | tail +2 |
while read FILESYS ALLOC USED AVAIL CAPACITY MOUNT
do
  CAPACITY=`echo $CAPACITY | cut -d% -f1`
  if [ $CAPACITY -ge 90 ]
  then
    echo \"ALARM $MOUNT is at or above $CAPACITY percent\"
  fi
done
Avatar billede nubo Nybegynder
29. september 2000 - 13:46 #20
Kimsom.......

cool, nu begynder det at ligne noget, nu for jeg et svar der ser sådan her ud..

ALARM /var is at or above 90 percent
ALARM /usr is at or above 90 percent

nu skal jeg bare have den til at \"gribbe\" fat i enten /var eller /usr \"eller hvis der nu skulle være flere end lige de to og gøre nogle andre ting....

jeg holder weekend nu, men er tilbage på Mandag, så hvis der skulle være en løsning på det sidste ville du bare rede hele min næste uge....ssssss  :o)

Ps. du kan nok får de point, men jeg vil lige have det hele på plads inden....sss

Avatar billede kimsom Nybegynder
29. september 2000 - 13:52 #21
gribe fat ???  Hvad vil du? Du kan evt. tilføje efter echo linien ..

echo \"$MOUNT has following files greater than 10MB\"
find $MOUNT -size +20000 -exec ls -l {} \\;
Avatar billede lbhansen Nybegynder
29. september 2000 - 20:53 #22
Her er et lille script der kan udføre det samme
det kræver kun bash og sed. Det testet på en True64 og en Linuxbox. Derudover er det nemt at konfigurere hvis man støder på en df med andet format.

#!/bin/bash
#antal kolonner i en beskrivelseslinje
COLS=6
#hvilket index starter device p†
DEVICE=0
#hvilket index starter usage p†
DISKFREE=4
#hvilket index starter mountpoint p†
MOUNTPOINT=5
#hvor mange procent m† der v‘re p† disken
THRESHHOLD=90
#hvor mange kolonner er der i headeren af df
INTROCOLS=6
INTROCOUNTER=0
COUNTER=0

#beregner modules p† det modtagne argument
function modulus(){
        TEMP=$[$1/$COLS]
        MODULUS=$[$1-$[$TEMP*$COLS]]
}

#her skal koden v‘re der skal udfores
#hvis max er n†et
function warning(){
        echo WARNING $1 mounted on $3 uses $2% of its physical storage
}

#henter alle linjer fra input
#og behandler dem
for LINE in [`df`]
do
        if [ $INTROCOUNTER -le $INTROCOLS ]
        then
                INTROCOUNTER=$[$INTROCOUNTER+1]
        else
                modulus $COUNTER
                if [ $MODULUS -eq $DEVICE ]
                then
                        HD=$LINE
                elif [ $MODULUS -eq $DISKFREE ]
                then
                        USAGE=`echo $LINE|sed -e \'s/[%]//\'`
                elif [ $MODULUS -eq $MOUNTPOINT ]
                then
                        MP=`echo $LINE|sed -e \'s/[]]//\'`
                        if [ $USAGE -ge $THRESHHOLD ]
                        then
                                warning $HD $USAGE $MP
                        fi
                fi
        COUNTER=$[ $COUNTER+1 ]
        fi
done
Avatar billede kimsom Nybegynder
30. september 2000 - 08:52 #23
lbhansen.....>>

Tjahhh... hvorfor skulle de også være så nemt?
Avatar billede nubo Nybegynder
01. oktober 2000 - 13:52 #24
mange tak alle sammen, men jeg er ikke på job, så jeg kan først komme til at kigge ordenligt på det hele imorgen....ssss.....

så snart det er gjort, skal jeg nok give besked.......    :o)
Avatar billede kimsom Nybegynder
04. oktober 2000 - 07:41 #25
Hvad øhhhh... hvordan går det?
Avatar billede nubo Nybegynder
05. oktober 2000 - 08:36 #26
Kimsom.......

undskyld at der gik lidt tid, men jeg har ikke rigtig haft tid før nu, jeg mangler bare en ting, du godt hjælpe det er helt op til dig...  :o)

når scriptet køres og jeg for \"lad så sige 4 linjer\" så skal jeg have den til at sige..\"Mmm ok, /var er fuld, så skal jeg gøre noget andet, og /usr er fuld så skal jeg gøre noget helt andet\"...

den skal læse en linje og behandle dem en efter en.....

men 1000 tak for din hjælpe, det var sgu fedt, jeg er ikke helt så godt til unix endnu, men kommer...\"al begyndelse er svær\"........
Avatar billede kimsom Nybegynder
05. oktober 2000 - 09:43 #27
Her er så et udkast - dine actions foretages i en case struktur som du selv kan udbygge.
Hvis du har flere spørgsmål vedr. UNIX o.lign. kan jeg mailes på kim@sommer.dk. Eksemplet
sletter aller filer i tmp bibliotekerne (jeg har dog kommenteret linierne) - men det er jo bare
et eksempel.

df -k | tail +2 |
while read FILESYS ALLOC USED AVAIL CAPACITY MOUNT
do
  CAPACITY=`echo $CAPACITY | cut -d% -f1`
  if [ $CAPACITY -ge 90 ]
  then
    echo \"ALARM $MOUNT is filled to $CAPACITY percent\"

    case \"$MOUNT\" in
      \"/var\") echo \"Files in $MOUNT/tmp will be cleared\"
              # rm -rf $MOUNT/tmp/*
              echo ;;

      \"/usr\") echo \"Files in $MOUNT/tmp will be cleared\"
              # rm -rf $MOUNT/tmp/*
              echo ;;

          *) echo \"No action defined\"
              echo ;;
    esac

  fi
done
Avatar billede nubo Nybegynder
05. oktober 2000 - 10:32 #28
jeg prøver det lige og leger lidt med det.....

jeg har husket din mail adresse, jeg kommer nok til at benytte mig af den...    :o)
Avatar billede nubo Nybegynder
05. oktober 2000 - 10:42 #29
jeg tror vi går lidt forbi hinanden...sssss

det skal ikke være sådan at jeg skal fortælle criptet hvor den skal rydde og eller andet, den skal undersøge om der skulle være nogle steder hvor den overskrider 90%...\"hvilket det gør nu\"...., derefter skal den selv kunne finde ud af om \"hvor\" den er fuld, hvis der nu er en der hedder /test1, så skal den sige....\"ok, jeg har fundet et sted hvor den er fuld og det ligger et eller andet sted på /test1\"...

jeg skriver lige til din mail...  :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester