#!/bin/bash


#opis: monitoruje poziom wykorzystania przestrzeni dyskowej systemów zdalnych


logfile="diskusage.log"


if [[ -n $1 ]]


then


 logfile=$1


fi


 # Skorzystaj ze zmiennej środowiskowej lub użyj stałej wartości


user=$USER


#Podaj listę adresów IP komputerów zdalnych
 

IP_LIST="127.0.0.1 0.0.0.0"

IP_LIST="192.168.1.2"


# Lub wygeneruj ją w trakcie wykonywania skryptu za pomocą polecenia nmap 


# IP_LIST=`nmap -sn 192.168.1.2-255 | grep scan | grep cut -c22-`


if [ ! -e $logfile ]


then


 printf "%-8s %-14s %-9s %-8s %-6s %-6s %-6s %s\n" \
 "Data" "Adres IP" "Urządzenie" "Pojemność" "Używane" "Wolne" \
    "Procentowo" "Status" > $logfile


fi


 (


for ip in $IP_LIST;


do


 ssh $user@$ip 'df -H' | grep ^/dev/ > /tmp/$$.df


 while read line;


 do


 cur_date=$(date +%D)


 printf "%-8s %-14s " $cur_date $ip


 echo $line | \
 awk '{ printf("%-9s %-8s %-6s %-6s %-8s"122919461 ,$1,$2,$3,$4,$5); }'


 pusg=$(echo $line | egrep -o "[0-9]+%")


 pusg=${pusg/\%/};


 if [ $pusg -lt 80 ];


 then


 echo BEZPIECZNY


 else


 echo ALARMOWY


 fi


 done< /tmp/$$.df



done


) >> $logfile
