Pages : 1
Discussion fermée
#1 Le 16/10/2012, à 23:13
- DonutMan75
Voir l'avantage de cron
Bonsoir à tous,
il y a quelques temps, j'ai réalisé un petit script shell (très simple) qui me permettait de vérifier à intervalles réguliers que ma connection internet fonctionnait bien (quelques petits soucis avec Orange, ahem....)
Le voici ci-dessous.
Toutes les DELTA minutes, on vérifie si la connection est active (on peut pinger google.fr). Si oui, on stocke 1 dans un fichier de sortie. Sinon, on stocke 0.
#! /bin/bash
# test_livebox
# Teste la connectivté à Internet
# Nombre de minutes entre chaque test
DELTA=5
# Nombre d'essai
N=400
# Serveur ping
DEST="google.fr"
# Fichier de sortie
FICHIER="./test_livebox.dat"
echo $DELTA > $FICHIER
while [ ! $N -eq 0 ] ; do
echo "Test de la connectivité"
ping -c 3 $DEST
if [ $? -eq 0 ] ; then
# HOST a répondu au ping
echo 1 >> $FICHIER
else
echo 0 >> $FICHIER
fi
sleep $(( $DELTA * 60 ))
N=$(( $N - 1 ))
done
C'est simple, efficace et ça marche correctement.
Maintenant, cette solution n'est pas élégante. D'après moi :
1- on doit laisser un terminal ouvert pour exécuter ce script
2- surconsommation de mémoire/temps cpu par rapport à la modestie de la tâche effectuée (???)
J'ai récemment vu cet article très complet sur cron http://doc.ubuntu-fr.org/cron.
J'me suis dit que l'occasion était parfaite pour un petite application concrète.
L'intêret de ne plus avoir de terminal ouvert est manifeste.
Néanmoins, j'aurais aimé savoir à quel point la consommation de ram/cpu était améliorée par cron dans ce cas précis ? Peut-on le voir de visu (via un htop ou autre ?). Pour l'instant je sèche. Dans l'absolu, si quelqu'un pouvait me donner une petite explication théorique, je suis également preneur Naïvement, j'aurais dit que, dans le premier cas, le script était tout le temps chargé en mémoire et le reste tant qu'il n'est pas fini (donc conso mémoire, même s'il ne fait rien 99% du temps).
Merci d'avance pour vos réponses
Bonne soirée
Hors ligne
#2 Le 16/10/2012, à 23:22
- Maisondouf
Re : Voir l'avantage de cron
La différence principale, c'est que ton scripte utilise 'sleep' qui bloque le process pendant la tempo.
Les 'actions' gérées par 'cron' sont lancées ponctuellement à l'heure demandée.
Le processus 'cron' n'assure que le lancement, après il passe à autre chose.
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne
#3 Le 16/10/2012, à 23:27
- Maisondouf
Re : Voir l'avantage de cron
dans ta commande à lancer via cron tu ne pourrais ne mettre que ça:
ping google.fr -c 1 >/dev/null; echo $? >>./test_livebox.dat
edit : codes de retour de ping:
0 -> ok
1 -> timeout
2 -> not found
Dernière modification par Maisondouf (Le 16/10/2012, à 23:30)
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne
#4 Le 17/10/2012, à 00:35
- DonutMan75
Re : Voir l'avantage de cron
Bonsoir Maisondouf,
merci pour cette réponse rapide et éclairée
Bonne soirée
Donut
Hors ligne
#5 Le 17/10/2012, à 04:19
- nesthib
Re : Voir l'avantage de cron
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
Pages : 1
Discussion fermée