Port en écoute et détection erreur réseau
Bonjour,
Je dois faire un petit programme qui se met en ecoute sur un port distant via le réseau et récupérer les informations qui viennent au fur et a mesure et idéalement l'integre dans un BDD type mysql ou bien autre solution moins bien, le met dans un fichier
Je suis sous Linux et en plus j'aimerai pouvoir faire une detection de perte du distant.
J'ai essayé de retranscrire en commande bash ce que je souhaitais faire. Le fichier exe_netcat.sh serait appelé toutes les 5 min par le cron.
vérifie le ping:
si ok = lancement du script netcat.sh, si deja lancé rien faire
si nok = arrêt de tous les scripts puis attendre la prochaine execution du cron
netcat.sh
connexion au serveur distant en telnet et récuperation des donnes dans un fichier
exe_netcat.sh
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
#!/etc/bash
IP='192.168.255.11'
if ping -c1 -w3 $IP 2>/dev/null 2>&1
then
echo 'Host found" >&2
var= netcat.sh
if [$(pgrep -f $var)>1]
then
echo 'process en cours'
else
bash netcat.sh
fi
else
echo 'Host not found' >&2
pkill -f exe_netcat.sh
pkill -f netcat.sh
fi |
netcat.sh
Code:
1 2 3 4 5 6 7 8
|
#!/bin/bash
while true
do
echo en attente
telnet 192.168.255.11 3299 > test.out
echo $(date)
done |
Ma 1ere question est: avez vous une autre solution pour faire ca?
Si non j'ai un problème pour la detection du process et son kill je ne vois pas ou mon script ne colle pas
Est il possible d'envoyer directement vers une BDD mysql sans passer par le telnet ?
merci d'avance