Olá Marcelo!
Parece que o problema está relacionado ao uso do here-document no seu script. O erro indica que o delimitador especificado (no caso, del
) não foi encontrado como esperado pelo shell.
Um ponto importante ao usar here-documents é garantir que o delimitador utilizado para encerrar o bloco de texto seja colocado no início de uma nova linha, sem espaços ou tabs antes ou depois dele. No seu caso, o delimitador del
deve estar sozinho em uma linha, sem nenhum espaço antes ou depois.
Além disso, verifique se, ao editar o script, não foram inseridos caracteres invisíveis ou espaços extras. Isso pode acontecer dependendo do editor de texto utilizado.
Aqui está uma sugestão de como corrigir o seu script:
#!/bin/bash
resposta_http=$(curl --write-out %{http_code} --silent --output /dev/null http://localhost)
if [ $resposta_http -ne 200 ] # -ne verifica se o conteudo resposta e diferente de 200 e -eq se e igual
then
mail -s "Mensagem teste de monitoramento - Problema no servidor" marfecarater@gmail.com<<del
Mensagem simulacao teste - Houve um erro no servidor web e perdeu o acesso para usuarios.
del
systemctl restart apache2.service
fi
Certifique-se de que o del
final esteja alinhado à esquerda, sem espaços ou tabs antes dele. Se ainda estiver enfrentando problemas, tente usar um delimitador mais único, como END_MESSAGE
ou algo similar, para evitar conflitos com palavras que possam aparecer no texto.
Espero ter ajudado e bons estudos!