OVH Community, votre nouvel espace communautaire.

La vérifs des Logs pour les gens qui n'ont pas le temps ou la flaime


Shadow aok
09/09/2006, 15h00
Pour avoir un récapitulatif de tes logs par programme, tu peux utiliser logwatch

arnowebmaster
09/09/2006, 14h03
Mais où est-il ce script? Pourquoi cet utilisateur efface-t-il tous se sposts?

illegalparty
02/12/2004, 11h06
On va dire que je suis un peu feignant à partir de 00h, j'ai plus trop envie de taper des lignes de codes ;-)

almiron
02/12/2004, 11h03

illegalparty
02/12/2004, 11h00
C'etait bien parceque j'ai edité le fichier par webmin, un petit coup de SSH avec pico et le problème a été réglé...
pour info j'ai juste crée le fichier et je l'ai sauvegardé puis je suis repassé par webmin pour faire mon copier/coller et c'est passé comme une lettre à la poste ;-)

Encore merci pour le script :-)

Sylvain
02/12/2004, 10h36
C'est possible, vérifie le propriétaire du fichier et son groupe, à mon avis ça doit être root.

Sinon essaye sh log_by_mail.sh

illegalparty
02/12/2004, 10h32
---

almiron
02/12/2004, 09h56

Sylvain
02/12/2004, 09h05
La dernière version de almiron ne marchait pas non plus pour moi. J'ai fais un debuggage et un mix de nos versions et ajouté quelques trucs (qmail-stat)
Elle devrai marché sinon dites moi le message d'erreur.


Code:
#!/bin/sh

#----------------------------------------------------
# Fichier : log_by_mail.sh
#
# Auteur : almiron@nddweb.com
# www.nddweb.com
#----------------------------------------------------

# On indique le chemin du fichier servant à récolter les informations
logfile=/var/log/log_by_mail

# On supprime le fichier existant
rm $logfile

# On creer le fichier
touch $logfile
chmod 600 $logfile

JOUR=$(date "+%b %e")

# On renseigne le fichier avec les informations que l'on veut
(date "+%A %-d %B")>>$logfile

echo "">>$logfile
echo "# /var/qmail/bin/qmail-stat ----------------------------">>$logfile
/var/qmail/bin/qmail-qstat>>$logfile

echo "">>$logfile
echo "# last -------------------------------------------------">>$logfile
echo "">>$logfile
last | grep -i "$JOUR" >>$logfile
echo "">>$logfile

echo "# /var/log/messages ------------------------------------">>$logfile
echo "">>$logfile
grep -i "$JOUR" /var/log/messages >>$logfile
echo "">>$logfile

echo "# /var/log/maillog -------------------------------------">>$logfile
echo "">>$logfile
grep -i "$JOUR" /var/log/maillog | grep -v "spamd\[" | grep -v "clients@macosx.com" | grep -v "email@quonveutpasvoir.com" >>$logfile
echo "">>$logfile

echo "# /var/log/httpd/error_log -----------------------------" >> $logfile
echo "" >> $logfile
grep -i "$JOUR" /var/log/httpd/error_log | grep -v "robots.txt" | grep -v "favicon.ico">>$logfile
echo "">>$logfile

# On s'envoie le contenu du fichier
cat $logfile | mail -s "Logs $HOSTNAME [$(date "+%A %d %B")]" email@domaine.com

exit 0

illegalparty
02/12/2004, 08h57
---

almiron
02/12/2004, 07h04

illegalparty
01/12/2004, 23h46
---

almiron
17/11/2004, 20h29

Sylvain
15/11/2004, 13h46
Voici la version corrigée du script, l'erreur venait du test "IF"

Code:
#!/bin/sh

#----------------------------------------------------
# Fichier : log_by_mail.sh
#
# Auteur : almiron@net-altitude.fr
# www.net-altitude.fr
#----------------------------------------------------

JOURMOIS=$(date +%d)


# On indique le chemin du fichier servant à récolter les informations
logfile=/var/log/log_by_mail

# On supprime le fichier existant
rm $logfile

# On creer le fichier
touch $logfile

# On met les bons droits
chmod 600 $logfile


# On renseigne le fichier avec les informations que l'on veut
(date "+%A %-d %B")>>$logfile
echo "">>$logfile
echo "# last ----------------------------">>$logfile
echo "">>$logfile
last>>$logfile
echo "">>$logfile
echo "# /var/log/messages ---------------">>$logfile
echo "">>$logfile

if [ $JOURMOIS -lt 10 ] ; then
grep -E "($(date -R +"%b %-d")|$(date +"%b %-d"))" /var/log/messages>>$logfile
echo "">>$logfile
echo "# /var/log/mailog -----------------">>$logfile
echo "">>$logfile
grep -E "($(date -R +"%b %-d")|$(date +"%b %-d"))" /var/log/maillog>>$logfile
echo "">>$logfile
echo "# /var/log/http/error_log ---------">>$logfile
echo "">>$logfile
grep -E "($(date -R +"%b %-d")|$(date +"%b %-d"))" /var/log/httpd/error_log>>$logfile
else
grep -E "($(date -R +"%b %-d")|$(date +"%b %-d"))" /var/log/messages>>$logfile
echo "">>$logfile
echo "# /var/log/mailog -----------------">>$logfile
echo "">>$logfile
grep -E "($(date -R +"%b %-d")|$(date +"%b %-d"))" /var/log/maillog>>$logfile
echo "">>$logfile
echo "# /var/log/http/error_log ---------">>$logfile
echo "">>$logfile
grep -E "($(date -R +"%b %-d")|$(date +"%b %-d"))" /var/log/httpd/error_log>>$logfile
fi
# On s'envoie le contenu du fichier
cat $logfile | mail -s "Logs [$(date "+%A %d %B")]" user@votredomaine.com
exit 0

almiron
29/10/2004, 12h25

Xavier Sutter
22/10/2004, 15h37
BOnjour,

je viens d'installer le script, j'ai relu plusieurs fois le thread pour etre sur de ne pas avoir fait d'erreur pourtant lorsque j'exectute la tache crom le serveur me repond :
/root/log_by_mail.sh: line 60: syntax error: unexpected end of file

savez vous comment resoudre le probleme ?

Xavier

almiron
18/10/2004, 07h35

F77
15/10/2004, 10h50
ce script a l'air très utile sinon est ce qu'il est à jour ou est ce qu'il reste qqs bugs à resoudre ?

almiron
11/05/2004, 09h35

almiron
03/05/2004, 13h58

almiron
03/05/2004, 13h09

almiron
03/05/2004, 07h20

multinetworks
02/05/2004, 15h20
Cela donne cela chez moi :
dimanche 02 mai

last ----------------------------

root pts/2 dyn-83-152-186-1 Sun May 2 15:33 still logged in
root pts/2 dyn-83-152-186-1 Sun May 2 15:23 - 15:33 (00:10)
root pts/0 dyn-83-152-186-1 Sun May 2 13:50 - 14:00 (00:09)
root pts/1 aboulogne-111-1- Sun May 2 13:10 - 15:59 (02:48)
root pts/0 dyn-83-152-186-1 Sun May 2 13:04 - 13:45 (00:40)
root pts/0 dyn-83-152-130-3 Sun May 2 12:38 - 12:45 (00:06)
root pts/0 dyn-83-152-130-3 Sun May 2 12:27 - 12:27 (00:00)
root pts/0 aboulogne-111-1- Sat May 1 23:31 - 23:43 (00:11)
root pts/0 dyn-83-152-108-1 Sat May 1 12:51 - 12:55 (00:03)
root pts/1 dyn-83-152-113-4 Sat May 1 11:52 - 11:59 (00:06)
root pts/0 dyn-83-152-107-2 Sat May 1 10:27 - 12:49 (02:22)

wtmp begins Sat May 1 10:27:37 2004

/home/log/messages ---------------

/home/log/mailog -----------------

/home/log/boot.log -----------------

/home/log/http/error_log ---------
Est-ce normal que ce soit vide dans le bas ?

vroyer
01/05/2004, 20h17
Bonjour,

et tout d'abord merci pour ce script. J'ai malgré tout un problème. J'ai modifié les répertoires de log pour que ça corresponde à mon serveur, mais j'ai surtout dû modifier les droits de ces fichiers pour pouvoir y accéder et surtout quand j'exécute la tache cron, j'ai :
/root/log_by_mail.sh: /home/log/messages: Text file busy
/root/log_by_mail.sh: /home/log/maillog: Text file busy
/root/log_by_mail.sh: /home/log/httpd/error_log: Text file busy


LE mail que je reçois est donc vide. Sauf le premier log. Une idée sur ce qui ne va pas ?

MErci d'avance

Vincent

vroyer
01/05/2004, 13h06
Bonjour,

et merci pour le script. Mais j'ai un problème, ça ne marche pas. J'ai modifié les répertoires et j'ai également du modifier les droits de fichiers de logs pour pouvoir y accéder, mais maintenant j'obtiens les messages suivants à l'exécution du cron :

Sortie de la commande /root/log_by_mail.sh ..

/root/log_by_mail.sh: /home/log/messages: Text file busy
/root/log_by_mail.sh: /home/log/maillog: Text file busy
/root/log_by_mail.sh: /home/log/httpd/error_log: Text file busy

Une idée sur le problème ?

Merci d'avance.

Vincent

Julien2222
13/04/2004, 21h28
'lut,

j'ai bien fait s'executer la tache, je suis debutant ds les serveurs mais j'ai quand meme pas fais l'erreur de pas changer l'email .. mais tjs pâs reçus d'email

Sinon cela doit effectivement provenir de la taille de mes logs qui sont il est vrai tres gros ... vais me pencher de ce cote

i-services
13/04/2004, 18h58
le script est sympa, j'ai essaye mais jamais reçus de mail ... une idée ?

sans doute que tes logs sont très gros. Donc le mail est encore en cours d'envoi

almiron
13/04/2004, 16h16

mathias
13/04/2004, 16h03
sympa moi je recois bien les emails

t'es sur d'avoir changé l'email dans la ligne
cat $logfile | mail -s "Logs [$(date "+%A %d %B")]" almiron@nddweb.com

almiron
13/04/2004, 15h54

Julien2222
13/04/2004, 15h37
salut,

le script est sympa, j'ai essaye mais jamais reçus de mail ... une idée ?

almiron
12/04/2004, 21h21