Tem como fazer com que o sistema avise quando o disco estiver cheio, algo como um serviço de monitoração do HD. Aviso por email, som ...
Sandro
Versão Imprimível
Tem como fazer com que o sistema avise quando o disco estiver cheio, algo como um serviço de monitoração do HD. Aviso por email, som ...
Sandro
olá amigo!
Eu já vi um "script shell" numa URL que não lembro agora, mas a estrutura não é difícil. Segue abaixo um script que envia o e-mail.
Para verificar o espaço em disco use o commando df -h, que gera a saída abaixo:
-----------------------------------------------------------------
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 32G 20G 11G 62% /
/dev/md0 17G 13G 3.0G 81% /mnt/data
none 314M 0 314M 0% /dev/shm
-----------------------------------------------------------------
use o comando "cut" para selecionar as linhas e/ou os campos a serem utilizados, depois armazene este valor numa variável $percentagem por exemplo e leia a variável com o cmd "read" e depois coloque num if para comparar com o valor desejado tipo 90%.
Se ajudar a começar o script de envio de e-mail segue abaixo.
recorte aqui!
<------------------------------------------------
#!/bin/bash
/bin/mail fulano@seu_dominio.com.br << End
Este e um teste
>>> By Santanax <<<
End
------------------------------------------------------>
recorte aqui!
Fallow!
<IMG SRC="images/forum/icons/icon21.gif">
Valeu satanax,
consegui fazer umas coisas interessantes com o cut aqui.
Ao invés de mandar um email, teria como emitir uns beeps?
Qual o comando que emite um beep , ou podia ser executando um som,
algo assim, para avisar na hora.
Sandro
Comando para emitir beep:
Ex: echo -e "\07" ou echo -e "\a"
Se vc desejar aumentar a duração do beep, basta coloca-lo em um laço.
Ex: while true
do
echo -e "\07"
done
#Ai dá um ctrl+c para parar
Tentei fazer algo como vc pediu, nao sei se está tudo como vc quer...verifica de 10 em 10
minutos a partiçao hda1. Se estiver com mais de 90% ocupada, dá um beep.
#!/bin/bash
while true
do
var=`df -h | grep hda1 | cut -f20 -d" "`
percent=`echo $var | tr % " "`
if [ $percent -gt 90 ]
then
echo -e "\07"
fi
sleep 600
done
Obs: Qq coisa, vc tem q ajustar a coluna na opçao "-f" do cut, caso no seu sistema a saida
do comando "df -h" seja diferente do meu;
Para mudar a partiçao que o programa verifica, eh so mudar o "hda1" e por a partiçao desejada;
E por ultimo, rodar sempre em background (&<IMG SRC="images/forum/icons/icon_wink.gif"> o script.
Valeu Benzatti, isso que eu estava procurando, tava pensando em colocar isso no crontab
para rodar de 1 em 1 minuto. Vou testar aqui
T+