Bonjour,

Je me permet de vous écrire suite a un blocage de plusieurs jour pour résoudre le problème de ce code.
Voici le code que j'ai fais il est fonctionnel, mais je pense que c'est à refaire et faire quelque retouche si y'a une modif à faire de plus.


Le principe de ce code est de faire un :


* Test * ping GOOGLE.FR et test.FR
* telnet test 10050
* telnet localhost 10050

>> Résultat souhaité : soit pour le ping ou soit telnet , resultat doit afficher si le test est bon afficher success sinon afficher failed.

Ainsi ce code doit faire:

// parti affichage.
* Récupérer le hostanme et les infos réseaux (conf ip V4, V6, serveur DNS)
* Nettoyage LOG
* Nettoyage TMP
* Nettoyage historique

>> Résultat souhaité : Normalement que c'est Bon pour les affichages.

Une fois mon code s’exécute doit m'envoyer des fichiers de log dans le chemin que j'ai situé en déclaration et aussi doit m'envoyer un rapport par email ;
le problème c'est que je sais pas ou je vais mettre mes paramètres pour recevoir mes logs ainsi par email. quand je compile mon script je ne reçois rien dans mes log ni par email qui concerne mes fonctions.

Je demande un retour d'expérience svp. Merci pour vos compréhension.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 #declaration des variables
DATE=`date +%Y/%m/%d`
TIME=`date +%H.%M.%S`
 
LOG_FILE="/opt/code42/logs/testscriptdebian.log"
 
# Email To
EMAIL="alerte@code42.fr"
 
# Email From
EMAIL_FROM="TestScriptVM@`cat /etc/mailname`"
 
# Fin de declaration des variables
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ma fonction d envoi de mail
envoimail () {
 
          EMAILMESSAGE=`mktemp /opt/code42/testmail.XXXXXX`
          echo "To: ${EMAIL}" >> ${EMAILMESSAGE}
          echo "From: ${EMAIL_FROM}" >> ${EMAILMESSAGE}
          echo "Subject: ${SUBJECT}" >> ${EMAILMESSAGE}
 
          cat $LOG_FILE >> ${EMAILMESSAGE}
 
          #Envoi du mail d'alerte
          echo ${EMAILMESSAGE} | mutt -s "$TITLE" -- ${EMAIL} < ${EMAILMESSAGE}
          rm /opt/code42/testmail_tmp.*
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
# Grand titre la partie Affichage et netoyage 
# sous titre la partie affichage 
echo -e "la machine est : \n$(hostname)"
 
echo -e "les informations de la carte réseau : \n`ifconfig | head -9`"
 
echo -e "les informations sur le serveur DNS : \n$(cat /etc/resolv.conf)"
 
 
# sous titre Netoyage
rm -rf /var/log
rm -rf /tmp/*
history -c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#Parti fonction 
# premiere fonction pour tester la connectivité sur 2 sites différentes si c'est succes ou failed.
function check_site(){
 
   	site="$1"
   	ping -c4 $1 &>/dev/null && echo "$1 success" || echo "$1 failed"
 
}
 
	check_site code42.fr
	check_site google.fr 
 
# deusieme fonction pour tester si y'a un accès à telnet pour multi site et port 
 
function result () {
 
         telnet $1 $2 &>/dev/null && echo "$? Connexion a $1 sur le port $2 OK" || echo "$? Connexion a $1 sur le port $2 ECHEC"
 
}
 
result z.code42.fr 10050
result localhost 2304
result localhost 10050