Bonjour,
J'ai rencontré un petit problème cette semaine que je n'arrive malheureusement pas à résoudre.
j'ai besoin de faire tourner un logrotate pour un daemon squid cependant je ne veux pas les mêmes rotations selon les fichiers.
J'ai besoin de conserver le fichier access.log sur une rotation de 32 jours (pour générer les stats mensuels) alors que les autres (cache.log, store.log ainsi que tous mes logs de blacklists) ne doivent être conservés qu'un jour ou deux.
Je sais que logrotate prend en compte les expressions régulières mais je n'ai pas trouvé comment lui indiquer tout sauf access*.log pour la seconde partie du fichier de conf.
J'ai essayé tout un tas de truc, pour l'instant le seul qui fonction est [^a]*.log (ou quelque chose comme ca) mais il prend uniquement tout ce qui ne commence pas par un a ce qui n'est pas très clean sachant que je peux avoir des logs de blacklists commencant par cette lettre.
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
24
25
26
27
28 # # Logrotate fragment for squid3. # /var/log/squid3/access.log { daily rotate 32 missingok nocreate dateext sharedscripts postrotate test ! -e /var/run/squid3.pid || /usr/sbin/squid3 -k rotate endscript } /var/log/squid3/!access*.log { <= Mon problème est ici :\ daily compress delaycompress rotate 2 missingok nocreate dateext sharedscripts postrotate test ! -e /var/run/squid3.pid || /usr/sbin/squid3 -k rotate endscript }
Un grand merci d'avance pour votre aide.
Bonne journée!
Partager