A solução mais simples - para usar o crontab. Crie um arquivo semelhante ao seguinte:
#!/bin/sh
t=1197
while [ $t -gt 0 ]; do
ports="$(netstat -n | grep "ESTABLISHED" | awk '{print $4}' | grep -E '.*\.(80|5500|and other interested ports)$')"
if [ "$ports" ];
then t=0; echo $ports | mail -s "subject" [email protected]
fi
sleep 3
t=$((t-3))
done
Salve-o como 123.sh
e torne-o executável: chmod +x /path/to/123.sh
. Crie no seu diretório de usuários .crontab
file:
*/20 * * * * /path/to/123.sh
A verificação será executada a cada 3 segundos, mas a diferença de tempo entre as notificações não será inferior a 20 minutos, para não torná-lo um spam. Você pode alterar esses números para outro, o que é certo para você. E finalmente - você precisa especificar o daemon crontab para o arquivo: crontab ~/.crontab