Novo para bash - “Fim de arquivo inesperado”

1

Estou tentando configurar um script bash simples para verificar se uma mensagem de erro aparece em um log, se essa mensagem de erro "reset adapter" aparecer nesse log no qual o servidor deve nos enviar um email. Sempre que eu executar o script abaixo, eu me encontrei com "Bash Script.sh: linha 4: erro de sintaxe: fim de arquivo inesperado"

 if fgrep 'reset adapter' /var/log/messages.log then 
      mail -s 'Flapping ethernet' [email protected]
 fi

Alguma idéia?

ATUALIZAÇÃO:

Adicionado o sugerido; antes de "then", ainda recebendo o mesmo erro. Novo script:

 if fgrep -q 'reset adapter' /var/log/messages; then 
      mail -s 'Flapping ethernet' [email protected]
 fi
    
por Matt 10.12.2014 / 16:53

1 resposta

4

if fgrep -q 'reset adapter' /var/log/messages.log; then 
      mail -s 'Flapping ethernet' [email protected]
 fi
  • Observe o ; adicionado antes de then
  • Além disso, você precisa manter o grep silencioso e retornar apenas um código de erro. Isso é feito com -q
  • Na maioria dos sistemas, os arquivos de log são denominados /var/log/messages . Verifique se messages.log está correto no seu sistema.
por 10.12.2014 / 17:04

Tags