[+] Bash, wys

Potrzebujesz pomocy z C, C++, perl, python, itp.
draggero
Posty: 27
Rejestracja: 20 listopada 2009, 21:45

[+] Bash, wysłanie mailem % używanego miejsca na dysku

Post autor: draggero »

Witam.

P
otrzebuję skryptu, który wysłałby maila z ostrzeżeniem kiedy ilość używanego miejsca na dysku będzie około 80%. Z mailem sobie poradziłem, ale nie wiem jak wyciągnąć z polecenia:

Kod: Zaznacz cały

df -h
daną wartość. A bez tego nawet nie stworzę warunku. Próbowałem grepem ale wyciąga mi całą linię a nie potrzebną wartość.

Pozdrawiam.
Awatar użytkownika
lun
Beginner
Posty: 266
Rejestracja: 01 lutego 2010, 22:06
Lokalizacja: Warszawa

Post autor: lun »

Kod: Zaznacz cały

df -h | grep sda1 | awk '{print $5}'
draggero
Posty: 27
Rejestracja: 20 listopada 2009, 21:45

Post autor: draggero »

Niby w porządku, ale pokazuje np. 93%. Problem w tym, że chyba nie mogę przyrównać liczby do wyrażenia ze znakiem %.
A i mam coś takiego:

Kod: Zaznacz cały

#!/bin/bash
SH="df -h | grep sda1 | awk '{print $5}'"
H="93"
echo $SH
if [ $H -gt "90" ]
then
echo "test"
fi

Na razie testowo (zmienna H podstawiona do sprawdzenia z ,,if''). I nie wiem co tu jest nie tak. Bo zamiast przetworzyć polecenie to ją wyświetla. Jestem w tym zupełnie zielony więc nie wiem co tu może być nie tak, pewnie jakiś szczegół.
pyrion
Posty: 42
Rejestracja: 13 czerwca 2009, 12:04

Post autor: pyrion »

Kod: Zaznacz cały

X=`df -h | grep sda1 | awk '{print $5}'`
Y=`echo $X | cut -b 1-2`

if [ "$X" = "100%"  ]; then
   echo "Skonczylo sie miejsce na dysku."
else
    if [ "$Y" -gt "90" ]; then
            echo "Zostalo malo miejsca na dysku."
   fi
fi
draggero
Posty: 27
Rejestracja: 20 listopada 2009, 21:45

Post autor: draggero »

pyrion, dziękuję bardzo, wszystko działa jak należy.

Pozdrawiam.
ODPOWIEDZ