Pages : 1
#1 Le 02/05/2017, à 10:17
- Near3
[Résolu] Alarme quand pas de ping
Salut !
J'aimerais vous demander votre aide pour faire un petit programme, C++ ou bash (mais mes connaissances sont très limitées en bash), pour ping continuellement un serveur et lancer automatiquement une alarme dans le cas où la connexion avec ce serveur ne passe plus. S'il y a un logiciel Ubuntu tout fait pour ce genre de choses, je suis évidemment preneur. Sinon je prendrai tout conseil (librairie...) pour parvenir à mes fins ^^
Merci et bonne journée.
Dernière modification par Near3 (Le 03/05/2017, à 15:01)
Hors ligne
#2 Le 02/05/2017, à 10:25
- krodelabestiole
Re : [Résolu] Alarme quand pas de ping
c'est une fonctionnalité très utilisée
ça s'appelle un watchdog
un ex. en bash :
#!/bin/bash
ip=192.168.1.2
mac=xx:xx:xx:xx:xx:xx
if ping -c 1 $ip &> /dev/null
then
echo "server is up"
else
echo "server is down, sending Wake On Lan"
echo "server was down, Wake On Lan sent on $(date)" >> watchdog.log
wakeonlan $mac
fi
en l'occurrence il envoie un wakeonlan mais tu peux aussi envoyer un mail ou autre.
tu peux le faire tourner avec cron toute les 5 min par ex.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#3 Le 02/05/2017, à 15:59
- Near3
Re : [Résolu] Alarme quand pas de ping
Salut, merci de ta réponse.
Je ne suis pas un expert mais ton code ne fonctionne qu'une seule fois, il n'y a aucune boucle, si ? En fait je voudrais faire ça pendant que je dors, donc les mails c'est pas top, je voudrais plutôt charger un fichier .mp3 par exemple ^^
J'ai regardé un peu watchdog ubuntu mais je n'ai pas trouvé de logiciel générique (c'est beau de rêver) qui répondrait à mon problème
Hors ligne
#4 Le 02/05/2017, à 16:15
- krodelabestiole
Re : [Résolu] Alarme quand pas de ping
tu peux le faire tourner avec cron toute les 5 min par ex.
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#5 Le 02/05/2017, à 16:18
- krodelabestiole
Re : [Résolu] Alarme quand pas de ping
et pour jouer un mp3 tu peux utiliser n'importe quel lecteur audio en ligne de commande à la place de la ligne "wakeonlan... "
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#6 Le 02/05/2017, à 18:59
- krodelabestiole
Re : [Résolu] Alarme quand pas de ping
bon en gros tu enregistres ton script dans un fichier watchdog.sh , que tu rends executable (chmod +x watchdog.sh)
puis tu édites le job cron avec crontab -e
tu ajoutes cette ligne à la fin (en considérant que watchdog.sh est dans ton dossier utilisateur) :
*/5 * * * * ~/watchdog.sh
cron c'est vraiment le standard pour exécuter une tâche à intervalle régulier sur linux. ce sera bien mieux que n'importe quelle boucle dans un script.
*/5 en premier ça veut dire toute les 5 minutes. tu peux ajuster comme tu veux.
pour le script ça donne un truc du style :
#!/bin/bash
ip=192.168.1.2
if ping -c 1 $ip &> /dev/null
then
echo "server is up"
else
echo "server is down"
vlc ton_fichier.mp3
fi
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#7 Le 03/05/2017, à 14:10
- Near3
Re : [Résolu] Alarme quand pas de ping
Merci beaucoup pour ta réponse détaillée! Donc j'ai suivi tes instructions et en terminal j'ai fait ça:
lol@Wish:~$ crontab -e
no crontab for lol - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny
Choose 1-4 [2]: 2
crontab: installing new crontab
lol@Wish:~$
Je suis tombé sur un nouveau fichier ne contenant que des commentaires (#), à l'adresse /tmp/crontab.Iy2BlX/crontab, et j'ai mis
*/5 * * * * ~/watchdog.sh
En dessous. Puis j'ai quitté en sauvegardant.
Mais du coup si je ferme tous mes terminaux, je serais curieux de savoir comment va se manifester la commande
echo "server is up"
En tout cas merci
Dernière modification par Near3 (Le 03/05/2017, à 14:14)
Hors ligne
#8 Le 03/05/2017, à 14:30
- krodelabestiole
Re : [Résolu] Alarme quand pas de ping
ça va pas se manifester. les commandes echo là servent juste à tester le script manuellement.
par contre une commande comme
echo "server was down on $(date)" >> watchdog.log
permet d'enregistrer un journal des échecs du ping par ex. (dans le fichier ~/watchdog.log)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#9 Le 03/05/2017, à 15:01
- Near3
Re : [Résolu] Alarme quand pas de ping
Oh impeccable, merci beaucoup!
Apparemment "vlc audio.mp3" ne fonctionne pas depuis le fichier .sh, mais "cvlc audio.mp3" fonctionne. Merci encore, mon problème est complètement résolu.
Hors ligne
Pages : 1