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

Shell scriptig

Discussão em 'Novidades GNU/Linux & *nix World' iniciada por zbenta, 25 de Novembro de 2008. (Respostas: 5; Visualizações: 681)

Estado do Tópico:
Fechado a novas mensagens.
  1. zbenta

    zbenta Power Member

    Boas minha gente,

    Alguém me pode dar umas dicas sobre shell scripting?
    Tenho uma tarefa a correr no crontab que me monitoriza, através de snmp, as interfaces de rede de uma máquina. Com esta tarefe verifico o ifAdminStatus, o ifOperStatus e reencaminho o output, juntamente com a data e hora da execução, para um ficheiro de texto. Agora o que eu precisava era de criar um script que me contasse as linhas do ficheiro, e apagasse todas excepto as últimas 63 linhas. De seguida gostaria de verificar se houve alteração em algumas das interfaces e automáticamente enviar uma trap snmp para um host específico.
     
  2. VuDu

    VuDu Power Member

  3. r3pek

    r3pek Power Member

    para contar as linhas usa o "wc -l" (éle) :P
    para apagares todas as linhas excepto as ultimas 63 usa "tail -n 63"
    para diferenças usa o "diff -u"

    O resto acho que deves conseguir fazer.
     
  4. slack_guy

    slack_guy Power Member

    Código:
    #!/usr/bin/perl 
    
    use strict;
    use warnings;
    use Tie::File;
    
    my $file = q|/path/to/file.txt|;
    
    tie my @linhas, 'Tie::File', $file or die "$!\n";
    # Se precisas de saber quantas linhas tem o ficheiro, 'descomenta' a linha seguinte
    #print "O ficheiro $file tem ", [email protected], " linhas\n";
    my @rev_linhas = reverse @linhas;
    @linhas = reverse (splice @rev_linhas, 0, 63);
    untie @linhas or die "$!\n";
    
    Esta parte é mais complicada, para mim, de fazer à 'distância', mas usaria o módulo Net::SNMP.
     
  5. zbenta

    zbenta Power Member

    Boas minha gente,

    Obrigado pela ajuda, vou ver se consigo implementar isto logo quando chegar a casa.

    VUDU, tens razão no teu comentário, peço desculpa pela falha, mas sabes como é quando se precisa de ajuda nem sempre se "lê com olhos de ler".

    slack_guy, eu estou a usar o netsnmp para monitorizar os hosts, mas obrigado pela dica.
    Relativamente ao script, achas que o perl é a melhor opção?
     
  6. slack_guy

    slack_guy Power Member

    Melhor? talvez não, talvez sim. :) É uma opção. Podes fazer o mesmo em C, C++, Python, Ruby, Bash, Zsh, etc. etc. etc.
     
Estado do Tópico:
Fechado a novas mensagens.

Partilhar esta Página