1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Linux - Script de alerta de espaço em disco

Discussão em 'Programação' iniciada por Kwan, 12 de Dezembro de 2012. (Respostas: 9; Visualizações: 1682)

  1. Kwan

    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,
     
  2. nfk

    nfk Power Member

    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.
     
  3. 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
     
  4. Kwan

    Kwan Power Member


    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?
     
  5. nfk

    nfk Power Member

  6. Kwan

    Kwan Power Member

    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?
     
  7. nfk

    nfk Power Member

    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.
     
  8. Kwan

    Kwan Power Member

    Também n funciona sem o MAILTO =\
     
  9. Kwan

    Kwan Power Member

    Como é q se usa o cron?
     
  10. nfk

    nfk Power Member

    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...
     

Partilhar esta Página