Linux - Script de alerta de espaço em disco

Kwan

Power Member
Boas pessoal,

Gostaria de desenvolver um script para correr periodicamente numa maquina com o Linux instalada e que me alertasse (com um mail por exemplo) quando o disco tivesse 90% do seu espaço ocupado. Contudo não sei bem como começar fazer.

Que linguagem deverei usar? há alguma ferramenta nativa no linux que me permita fazer isto? Alguém já fez algo parecido que me possa ajudar?

Obrigado,

Cumps,
 
Há ferramentas e scripts já feitos. Se é só mesmo para isso, algo como o Nagios é overkill, mas podes instalar os plugins, que incluem programas para verificar vários parâmetros, incluindo espaço em disco (nagios-plugins-basic em distribuições baseadas em Debian). Para o alerta por mail podes correr um cron job.

Se quiseres escrever o script também não é muito difícil. Fazes um df e retiras daí a informação. Pode complicar-se dependendo da quantidade de discos que estiverem montados, se queres monitorizar todos, se tens ligações remotas... Mas o princípio não é complicado. Por exemplo, no meu sistema, correndo:

Código:
df|tr -s " "|cut -d" " -f 1,5

tenho as percentagens para todos os discos.
 
Podes escrever um script que faca a verificacao e mande o email na linguagem que quiseres (shell, C++, Python, Pearl,..) e usares o crontab para executares esse script periodicamente.

"crontab -e" para editar, e dpois algo do genero "*/10 * * * * [script]", para executar todos os 10 minutos
 
Há ferramentas e scripts já feitos. Se é só mesmo para isso, algo como o Nagios é overkill, mas podes instalar os plugins, que incluem programas para verificar vários parâmetros, incluindo espaço em disco (nagios-plugins-basic em distribuições baseadas em Debian). Para o alerta por mail podes correr um cron job.

Se quiseres escrever o script também não é muito difícil. Fazes um df e retiras daí a informação. Pode complicar-se dependendo da quantidade de discos que estiverem montados, se queres monitorizar todos, se tens ligações remotas... Mas o princípio não é complicado. Por exemplo, no meu sistema, correndo:

Código:
df|tr -s " "|cut -d" " -f 1,5

tenho as percentagens para todos os discos.


nfk, posso aproveitar esse comando
Código:
df|tr -s " "|cut -d" " -f 1,5
e utiliza-lo num shell script. Mas para enviar essa informação por mail como faria?
 
Hmm estava a tentar fazer algo deste género para testar mas não estou a ter muita sorte lol



Código:
df | tr -s " " | cut -d" " -f 1,5 | mailx -s "Disk Utilization" [email protected]

Alguém me sabe dizer pq é q este comando não funciona?
 
O MAILTO é uma variável, onde o puseste não vai fazer nada Para testar podes usar só o endereço. (man mailx para mais informação). Mas no cron não precisas dessa parte, e podes testar o cron pondo todos os valores com *, para o comando correr todos os minutos.
 
Podes não ter o mail configurado. Se correres o comando 'mail' com o teu utilizador se calhar tens lá avisos de mensagens não entregues. Isto está a começar a tornar-se um bocado off topic aqui, é mais Unix do que programação...
 
Back
Topo