Strona 1 z 1

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

: 21 sierpnia 2011, 19:33
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.

: 21 sierpnia 2011, 20:57
autor: lun

Kod: Zaznacz cały

df -h | grep sda1 | awk '{print $5}'

: 21 sierpnia 2011, 21:58
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ół.

: 21 sierpnia 2011, 23:53
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

: 22 sierpnia 2011, 00:22
autor: draggero
pyrion, dziękuję bardzo, wszystko działa jak należy.

Pozdrawiam.