Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/12/2009, à 18:04

Totof08170

[ REGLER ] date et heure pour Script shell

Bonjours tout le monde,


Voila je suis en train de réaliser un petit script shell.
Avec un fichier Nommer ip.txt contenant une liste d'ip les une en dessous des autres. Le script shell va effectuer un ping sur toutes ces adresse ip, et dire OK ou NOK en fonction du résultat. Ensuite le script va généré un fichier log.html qui contient un tableau récapitulatif du teste avec toutes les IP et l'état de l'ip.

Seul problème, j'aimerais bien que dans le fichier HTML, en dessous du titre, il y ai un truc du genre " teste réalisé le xx/xx/xx à xx:xx avec la date et heure quoi.

J'ai trouver sur le net des moyens de le faire avec du javascript ou php, mais quand j'ai mis le code dans les balise html du script shell sa ne marchais pas.

Quelqu'un pourrait m'aider?


Voila le lien du fichier zip du script http://up.sur-la-toile.com/iwhe


Et voila le code du script


 #!/bin/bash
IP=`ifconfig | grep -E 'inet add?r:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
MASK=`ifconfig | grep -E 'inet add?r:'| grep "$IP" | cut -d: -f4`
GATEWAY=`route -n | grep -E "^0.0.0.0 +[[:digit:].]+ +0.0.0.0" | awk '{print $2}'`
DNS=`grep nameserver /etc/resolv.conf | head -1 | awk '{print $2}'`
IP_NET=`wget http://checkip.dyndns.org/ -O - -o /dev/null | cut -d: -f 2 | cut -d\< -f 1`
DEBUT_T1="<html><head></head><body> <center>Tableau Bilant du script Ping</center> <br><br><table border="2" align="center"><tr><td>Adresse IP de la machine</td><td> Etat de la machine</td></tr>"
FIN_T1="</table></body></html>"

ip=$(cat ip.txt )
ok=0
nok=0
black="\033[30m" 
red="\033[31m"
green="\033[32m"
yellow="\033[33m"
blue="\033[34m"
magenta="\033[35m"
cyan="\033[36m"
white="\033[37m"

echo $DEBUT_T1 > log.html


echo -e "\n"
echo -e "            $blue ##################### "
echo -e "            $blue #      $red Ping $blue       #" 
echo -e "             $blue#       $red v3 $blue        #"
echo -e "            $blue #    $red by Totof $blue     #"
echo -e "            $blue #####################"
echo -e " \n "

rep=$(zenity --entry --title="Script v2 By Totof" --text="Veuillez indiquer votre choix" --entry-text="Configuration_IP" Ping_IP teste)

if [ $rep == "Configuration_IP" ]
	then
		echo    "     " "           VOS PARAMETRE IP " 
		echo "#############################################"
		echo  "#                                           #" 
		echo "# Adresse IP Local    : $IP"      "      #"
		echo "# Masque              : $MASK       #"
		echo "# Passerelle          : $GATEWAY         #"
		echo "# DNS                 : $DNS         #"
		echo "# Adresse IP Internet :$IP_NET      #"
		echo "#                                           #"
		echo "############################################# $black"
		echo -e "\n"
	fi


if [ $rep == "Ping_IP" ]
	then
	
		echo $DEBUT_T1 > log.html
	
	


echo -e    "Ping des machines de ip.txt en cours"
echo -e "\n"

for mot in $ip 
do 
  result=$(ping $mot -c 1)
  status=$(echo $result | grep "100% packet loss" )
  if [ -z "$status" ]
    then
        echo -e " $magenta => Etat de la machine $mot : $black $green OK $black \n  "
        echo "<tr><td>$mot</td><td>OK</td></tr>" >> log.html
        let ok=ok+1 
    else 
        echo -e " $magenta => Etat de la machine $mot : $black $red Non OK $black \n "
        echo "<tr><td>$mot</td><td>NOK</td></tr>" >> log.html
        let nok=nok+1
    fi 
done
echo $FIN_T1 >> log.html




echo -e  $blue"Ping des machines ip.txt terminé\n\n"

echo -e  $blue"Fichier log.html est maintenant crée"

echo -e "\n"
echo -e "     $blue##################################### "
echo -e "    $blue #           $red Fin du script $blue         #" 
echo -e "     $blue#   $red Nb de machine OK     : $ok    $blue   #"
echo -e "    $blue #   $red Nb de machine Non OK : $nok    $blue   #"
echo -e "    $blue #####################################   $black  " 
fi

Et je tiens à dire au passage que je début dans le script shell.

Merci a vous

Dernière modification par Totof08170 (Le 18/12/2009, à 19:29)

Hors ligne

#2 Le 18/12/2009, à 18:55

nesthib

Re : [ REGLER ] date et heure pour Script shell

puisque là tu fais du bash, utilise tout simplement la commande date dont les multiples options te donneront la date, l'heure…

exemple :

date '+%d/%m/%Y %k:%M'

Dernière modification par nesthib (Le 18/12/2009, à 18:57)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#3 Le 18/12/2009, à 19:25

twocats

Re : [ REGLER ] date et heure pour Script shell

IP=`ifconfig | grep -E 'inet add?r:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`

Un chouia* lourd...

IP=$(ifconfig | awk '/inet'.*'Bcast/ {sub(/:/," ");print $3}')

3 pipes en moins pour le même résultat.
Et aussi :

La syntaxe $(...) a remplacé les apostrophes inverses pour la substitution de commande.

cf. : http://abs.traduc.org/abs-fr/ch11.html#commandsubref

* Le chouia est une unité de mesure aléatoire...


La réponse est 42

Hors ligne

#4 Le 18/12/2009, à 19:29

Totof08170

Re : [ REGLER ] date et heure pour Script shell

merci beaucoup sa marche maintenant smile

Hors ligne

#5 Le 18/12/2009, à 19:32

Totof08170

Re : [ REGLER ] date et heure pour Script shell

twocats je ne savais pas le faire moi même alors j'ai trouver ces bout de code la sur internet, donc bah pour le moment je me contente de sa. Je pense que en faisant un Ifconfig et un grep ou autre je pourrais avoir l'ip mais bon je chercherais plus tard

Hors ligne

#6 Le 18/12/2009, à 20:52

sputnick

Re : [ REGLER ] date et heure pour Script shell

MyIps(){ echo -e "local:\n$(ifconfig $1 | grep -oP 'inet (add?r:)?\K(\d{1,3}\.){3}\d{1,3}')\n\npublic:\n$(curl -s sputnick-area.net/ip)"; }

$ MyIps
ou
$ MyIps <interface>


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 18/12/2009, à 22:00

Totor

Re : [ REGLER ] date et heure pour Script shell

twocats a écrit :
IP=$(ifconfig | awk '/inet'.*'Bcast/ {sub(/:/," ");print $3}')

un chouia plus court :

ifconfig|awk -F':B' '/inet.*B/ { print $2 }'

-- Lucid Lynx --

Hors ligne

#8 Le 19/12/2009, à 15:38

twocats

Re : [ REGLER ] date et heure pour Script shell

Totor a écrit :

un chouia plus court :

ifconfig|awk -F':B' '/inet.*B/ { print $2 }'

me renvoi un résultat vide, un chouia pas bon.


La réponse est 42

Hors ligne

#9 Le 19/12/2009, à 16:21

Totor

Re : [ REGLER ] date et heure pour Script shell

je ne sais pas ou était passé le pipe :

ifconfig|awk -F':|B' '/inet.*B/ { print $2 }'

c tjrs plus court

Dernière modification par Totor (Le 19/12/2009, à 16:22)


-- Lucid Lynx --

Hors ligne

#10 Le 19/12/2009, à 19:08

twocats

Re : [ REGLER ] date et heure pour Script shell

...mais tu crée un pipe en plus.
Je chipote un chouia.


La réponse est 42

Hors ligne

#11 Le 19/12/2009, à 19:14

nesthib

Re : [ REGLER ] date et heure pour Script shell

twocats a écrit :

...mais tu crée un pipe en plus.
Je chipote un chouia.

sauf qu'ici le pipe n'a pas la même signification. Ce n'est pas un opérateur de redirection mais une partie de l'argument de awk donc pas de process supplémentaire.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#12 Le 20/12/2009, à 13:19

Totor

Re : [ REGLER ] date et heure pour Script shell

nesthib a écrit :

sauf qu'ici le pipe n'a pas la même signification. Ce n'est pas un opérateur de redirection mais une partie de l'argument de awk donc pas de process supplémentaire.

Exacte, pour être précis, je définie le séparateur de colonne awk comme étant soit ":" soit "B". Le OU est effectué par le pipe.
Cela aurait aussi pu être noté : [:B]


-- Lucid Lynx --

Hors ligne