Use a saída do comando curl para enviar email

0

Meu objetivo é monitorar uma página da Web em busca de texto e acionar um e-mail para mim mesmo se o texto for encontrado ou, se não for, o que for mais fácil. Eu sei que já existem alguns pacotes para fazer isso, mas estou tentando aprender um pouco mais sobre a linha de comando no processo de descobrir isso.

O caso de uso é pesquisar por texto como "venda iniciando em" ou algo assim, então recebo um alerta quando esse texto não está mais lá.

Eu fiz algumas pesquisas e tenho os dois comandos de que preciso, mas quero conectá-los em um trabalho que eu possa programar no cron. Uma única linha de comando do shell seria preferida. Eu tenho perl instalado se um script é necessário.

Um exemplo de pesquisa bem-sucedida é

curl -s -k http://www.scifi-review.net | grep stettin

result: a linha do código fonte com o padrão mach

Um exemplo de nenhum resultado é

curl -s -k http://www.scifi-review.net | grep xxxxxxx

resultado: apenas volta para a linha de comando

Meu comando de email (eu instalei um ssmtp configurado)

echo "Subject: Test"| ssmtp [email protected]

Estou pensando em fazer algo assim:

Se o comando Curl não tiver saída, execute o comando email. (preferido)

ou

Se o comando Curl HAS output, execute o comando email.

    
por Stettin 09.03.2018 / 21:19

1 resposta

1

Supondo que você esteja usando o bash como seu shell,

if [[ $(curl -s -k http://www.scifi-review.net | grep stettin) ]]; then echo "Subject: Test"| ssmtp [email protected]; fi

    
por 09.03.2018 / 21:30