Syslog.conf date dans le nom de fichier log

Résolu/Fermé
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 3 oct. 2008 à 10:10
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 7 oct. 2008 à 17:18
Bonjour,

Je cherche un moyen de paramétrer mon syslog pour que les log mail ne soit plus au format :
mail.log
mais plutot
mail.2008_10_03.log ou 2008_10_03.mail.log
ou peut importe mais avec la date du jour de log dans le nom .....


Est-ce possible ??

Cordialement,

Stéphane
A voir également:

5 réponses

asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
3 oct. 2008 à 10:49
C'est possible dans une certaines mesure avec logrotate...

Grosso-modo, tu peux demander une rotation des logs chaque jour, et changer le suffix (par defaut: .1 .2 .3 etc.) par une date.

Dans ce cas, seul le fichier du jour n'aura pas de date.

Jettes un oeil du coté de la commande man 8 logrotate ou reviens ici si tu veux plus d'info, des exemple de configuration, etc.

A plus
2
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
3 oct. 2008 à 10:59
Bonjour,

Merci pour cette réponse, cependant rien ne figure sur cette option dans http://www.delafond.org/traducmanfr/man/man8/logrotate.8.html

La seule référence au suffix est dans l'option extension.

Par ailleur, quelle date logrotate va-t-il utiliser ? s'il change la date à chaque rotation de log, ça ne sert à rien, j'ai besoin d'avoir la date fixe du début de log (pour le moment j'ouvre le fichier et je regarde la date de la première ligne mais c'est SUPER lour pour les gz).

Merci pour votre aide.

Stéphane
-1
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426
3 oct. 2008 à 11:28
Re,

https://linux.die.net/man/8/logrotate voir la ligne dateext

Après sur la date prise, à toi de faire des tests, s'il fait la rotation tout les matins à 6 heures par exemple, dans le fichier mail.20081003.gz tu auras les logs du 02 10 2008 à 6h01 au 03 10 2008 à 6h00, mais tu peux demander a ce que logrotate s'execute à 0h00 tout les jours (dans /etc/crontab, la ligne qui charge les script de /etc/cron.daily, tu as plusieurs solutions, ajouter une ligne dans ce fichier pour logrotate et supprimer logrotate de /etc/cron.daily, executer /etc/cron.daily/* a minuit, etc.)
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
3 oct. 2008 à 11:59
Ce serait effectivement parfais. cependant, j'ai lancé manuellement plusieurs fois le logrotate (avec -f) et je n'ai pas d'heure dans les noms des fichiers de logs ... voici mon logrotate.d/postfix


/var/log/mail/* {
    compress
    daily
    dateext
    rotate 10
    maxage 10
    olddir /var/log/mail/archives
    delaycompress
    notifempty
    sharedscripts
    create 644 root root
    postrotate
        /etc/init.d/sysklogd restart > /dev/null
    endscript
}

-1
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 620
3 oct. 2008 à 12:02
hello
ou par un script dand cron à 0h01 qui change le nom du fichier log et redémarre syslogd
sed -i s/mail.log/mail.$(date).log/ /etc/syslog.conf
pkill -HUP syslogd
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
7 oct. 2008 à 17:18
En fait ça a fonctionné, il fallait juste etre patient, le lancemen avec -f ne fonctionnait pas lui et par contre, il faut "purger" manuellement les fichiers antérieurs ...

Stéphane
-1