Como criar uma tarefa cron para monitorar o status de uma porta?

0

Estou tentando criar uma tarefa cron que me permita monitorar o status de uma porta específica e enviar notificações por email enquanto ela muda do estado de escuta para qualquer outra coisa.

    
por Vinod Balakrishnan 15.10.2014 / 13:49

2 respostas

4

No caso mais simples, você pode executar um comando como este:

lsof -i :22 | grep LISTEN

Portanto, para que isso seja executado a cada 5 minutos e envie um email se a porta não estiver ouvindo, adicione isso ao seu crontab:

*/5 * * * * lsof -i :22 | grep LISTEN || echo "Not listening" | mail [email protected]

Isso, obviamente, pressupõe que você já tenha configurado sua máquina para o comando mail .

    
por terdon 15.10.2014 / 14:30
0

O código de saída de nc -z localhost port_num , onde port_num é a porta que você deseja verificar, pode ser útil aqui. Se nc puder se conectar à porta, o código de saída será 0 ; caso contrário, o código de saída será 1 .

Você também pode adicionar a opção -v para obter uma impressão do resultado.

    
por saiarcot895 15.10.2014 / 13:57