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!