script para enviar um email se a capacidade de espaço em disco exceder 90% [duplicado]

0

Eu quero implementar um script no meu servidor que enviará automaticamente alertas de email se o uso do disco ultrapassar 90%. Meu sistema de arquivos é data / u01 e o ponto de montagem é / u01

#!/bin/bash

[email protected]

ALERT=90

df -h | egrep -v 'data/u01/u01' | awk '{ print $5 " " $1 }' | while read output; 

do

usep=$(echo $output | awk '{ print $1}' )

echo $usep

if [ $usep -ge ${ALERT%} ]; then

  echo  "Alert: Almost out of disk space $usep"

  df -h | mail -s "Alert: out of disk space $usep"  $ADMIN

fi

done

...........

mas estou recebendo o seguinte erro:

capacity

./iv.sh: line 8: [: capacity: integer expression expected
23%

./iv.sh: line 8: [: 23%: integer expression expected
0%
    
por Garima Alreja 16.11.2015 / 11:45

1 resposta

0

-ge espera inteiros. Retire o % após ALERT e altere usep para

usep=$(echo $output | awk '{ print $1}' | tr -d "%" )

Considere dar uma olhada no pacote de monit: é mais padrão e permite que você faça mais coisas, inclusive tomando ações com base nos resultados do monitoramento.

Por favor, considere o uso de uma forma mais padrão de monitoramento, como o monit, que permitirá que você faça mais e seja muito flexível, permitindo que você gere alertas e ações dependendo dos eventos em um formato muito simples.

    
por 16.11.2015 / 11:56