Logrotate - Envoyer les logs par mail en pièce jointe

Bonjour,

Je n’arrive pas à configurer logrotate pour envoyer mes logs au format compressé.

Je compresse les logs et demande de les envoyer dès le création
J’ai bien mon ancien log au format .gz mais je n’arrive pas à l’envoyer par mail, il me le décompresse à chaque fois :’(

Avez-vous une solution afin d’envoyer mon log au format .gz en pièce jointe?

Cordialement,

Tu peux utiliser cette commande pour envoyer un mail :

Bonsoir,

merci de ton aide mais je n’y arrive pas :’(

Voici les infos de mon logrotate.conf:

/var/log/messages { dateext rotate 3 compress delaycompress postrotate DATE=`date +%Y%m%d` echo "log " | mutt -s "logs" -a "/var/log/messages-$DATE.gz" "toto@toto.com" invoke-rc.d rsyslog reload > /dev/null endscript }

J’ai ce message d’erreur:

Can't stat /var/log/messages-20091105.gz: No such file or directory /var/log/messages-20091105.gz: unable to attach file.
Après vérification, le fichier existe bien :’(
j’ai l’impression que log rotate essaie d’executer mon script avant de compresser le fichier

une idée?

PS: en dehors de mon script, mutt est une super commande pour envoyer un fichier par mail :wink:

merci beaucoup

Je viens d’essayer de mettre un sleep de 10sec dans mon script et je constate que mon fichier n’est compressé qu’après le lancement de mon script postrotate.
Comment puis je corriger ce problème?

En bricolant un peux, j’ai trouvé une solution
je compresse le fichier avant de l’envoyer par mail:

/var/log/messages { dateext rotate 3 compress postrotate DATE=`date +%Y%m%d` tar cvfz /var/log/messages-$DATE.tar.gz /var/log/messages-$DATE echo "log" | mutt -s "logs $DATE" -a "/var/log/messages-$DATE.tar.gz" "toto@tata.com" rm /var/log/messages-$DATE.tar.gz invoke-rc.d rsyslog reload > /dev/null endscript

ce n’est surement pas la meilleur solution, si vous avez mieux, je suis preneur :wink:

Cordialement,