#1 Le 10/01/2023, à 10:19
- obelix
Limiter la quantité de syslog
Bonjour à tous.
Je souhaite réduire les logs dans les fichiers syslog* et voici comment j'ai procédé :
- j'ai créé un lien symbolique de logrotate de "daily" à "hourly" pour l'exécuter toutes les heures : /etc/cron.hourly/logrotate -> /etc/cron.daily/logrotate
- dans "/etc/cron.daily/logrotate", le script fait un "/usr/sbin/logrotate /etc/logrotate.conf"
- dans "/etc/logrotate.conf", le script fait un "include /etc/logrotate.d"
- dans "include /etc/logrotate.d", j'ai modifié le fichier "/etc/logrotate.d/rsyslog" dans la section "/var/log/syslog" avec "rotate 3" et "size 10M"
Je pensais que toutes les heures, la configuration de 3 fichiers de 10M allait s'appliquer mais finalement rien ne se passe :'(
$ sudo service cron reload
$
$ run-parts --list /etc/cron.hourly
/etc/cron.hourly/logrotate
Les logs :
$ sudo grep CRON /var/log/syslog
Jan 10 00:17:01 linux CRON[32407]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 01:17:01 linux CRON[354]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 02:17:01 linux CRON[746]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 03:17:01 linux CRON[934]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 04:17:01 linux CRON[1197]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 05:17:01 linux CRON[1528]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 06:17:01 linux CRON[1716]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 06:25:01 linux CRON[2352]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Jan 10 07:17:01 linux CRON[2587]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 07:30:01 linux CRON[2620]: (root) CMD ([ -x /etc/init.d/anacron ] && if [ ! -d /run/systemd/system ]; then /usr/sbin/invoke-rc.d anacron start >/dev/null; fi)
Jan 10 08:17:01 linux CRON[2806]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jan 10 09:17:01 linux CRON[3116]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Les fichier syslogs de plus de 10M :
-rw-r----- 1 syslog adm 676M Jan 10 09:58 syslog
-rw-r----- 1 syslog adm 538M Jan 10 00:09 syslog.1
J'ai bien compris que les 10Mo ne sont pas un déclenchement, c'est toutes les heures que le cron va vérifier si le fichier fait plus de 10Mo, si oui, ça tourne.
Cela dit, vu que ça ne marche pas, j'ai pas du comprendre quelque chose
Merci pour votre aide.
Dernière modification par obelix (Le 10/01/2023, à 10:20)
Hors ligne
#2 Le 10/01/2023, à 12:37
- geole
Re : Limiter la quantité de syslog
Bonjour
Une réponse à coté de la demande.
Il serait plus simple de ne pas fabriquer ces fichiers inutiles. Voir paragraphe 4.6
Une réponse pour mettre au point. A mon avis , il faudrait demander à journalctl de faire du ménage toutes les heures.
sudo journalctl --rotate --vacuum-time=1h
Dernière modification par geole (Le 10/01/2023, à 12:37)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#3 Le 10/01/2023, à 13:09
- obelix
Re : Limiter la quantité de syslog
Est ce que cette commande est pérenne et toujours en vigueur après un reboot ?
Hors ligne
#4 Le 10/01/2023, à 13:21
- geole
Re : Limiter la quantité de syslog
Oui. Mais je ne sais pas si c'est la raison du non-fonctionnement.
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#5 Le 16/01/2023, à 11:40
- obelix
Re : Limiter la quantité de syslog
Je ne comprends pas, je dois louper quelque chose :
$ ll -Sh /var/log/
total 1.3G
-rw-r----- 1 syslog adm 693M Jan 16 11:34 syslog
-rw-r----- 1 syslog adm 511M Jan 16 00:10 syslog.1
-rw-r----- 1 syslog adm 35M Jan 15 00:10 syslog.2.gz
-rw-r----- 1 syslog adm 26M Jan 14 00:05 syslog.3.gz
Je sais pourquoi je génère beaucoup de log et cela est maîtrisé.
Ce que je veux, c'est limiter la quantité de logs conservé et j'ai l'impression que mes différents tests de s'appliquent pas :'(
Bizarrement, journalctl ne voit que 56,5Mo de logs :
$ sudo journalctl --disk-usage
Archived and active journals take up 56.5M in the file system.
Dernière modification par obelix (Le 16/01/2023, à 11:44)
Hors ligne
#6 Le 16/01/2023, à 13:25
- geole
Re : Limiter la quantité de syslog
Bonjour.
Tu confonds les logs du journal avec la gestion passée maintenue par manque de courage d'élaguer.
Pourtant ils n'ont pas hésité à supprimer les noyaux en 32 bits
sudo du -had2 /var/log/journal 2>/dev/null | sort -hr
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#7 Le 16/01/2023, à 13:32
- obelix
Re : Limiter la quantité de syslog
En fait je ne dois pas comprendre car "/var/log/syslog*" ne semble pas être géré par journalctl.
Voici le retour de ta commande sachant que j'ai supprimé les fichiers syslogs pour faire un test.
$ sudo du -had2 /var/log/journal 2>/dev/null | sort -hr
6.3M /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7
6.3M /var/log/journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/user-1001@0ed57405bee34f06b2464d02df68a9cd-000000000004de7d-0005f260be0326e6.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/user-1001@0ed57405bee34f06b2464d02df68a9cd-000000000004db7b-0005f260bdacb056.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/user-1001@0ed57405bee34f06b2464d02df68a9cd-000000000004d87f-0005f260bd449122.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/user-1001@0ed57405bee34f06b2464d02df68a9cd-000000000004d5b4-0005f260bc199c67.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/user-1001@0ed57405bee34f06b2464d02df68a9cd-000000000004d2b2-0005f260bbc51d5f.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/user-1001.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/system@32c6ad0480be4a0ba782ad5b29068373-000000000004e014-0005f260be3220fa.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/system@32c6ad0480be4a0ba782ad5b29068373-000000000004d917-0005f260bd6b5fd8.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/system@32c6ad0480be4a0ba782ad5b29068373-000000000004d84d-0005f260bd35d31d.journal
640K /var/log/journal/a3d9197b765643568af09eb2bd3e5ce7/system.journal
$ ll -Sh /var/log/
total 83M
-rw-r----- 1 syslog adm 82M Jan 16 13:31 syslog
...
Hors ligne
#8 Le 16/01/2023, à 13:45
- geole
Re : Limiter la quantité de syslog
Journalct expédie en standard, sous le contrôle du fichier /etc/rsyslog.d/50-default.conf,dans syslog, dans kern.log et dans dmesg certaines traces, Après, c'est l'application logrotate qui gère les changements dans ces fichiers..
Dernière modification par geole (Le 16/01/2023, à 14:33)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#9 Le 16/01/2023, à 13:56
- obelix
Re : Limiter la quantité de syslog
Oui effectivement, c'est ce que j'ai essayé de faire d'après mon premier ticket.
Configurer "/etc/logrotate.d/rsyslog" pour avoir des fichiers syslog* léger et augmenté la fréquence du logrotate toutes les heures avec "/etc/cron.hourly/logrotate -> /etc/cron.daily/logrotate"
Pour tester, je fais "sudo /etc/cron.hourly/logrotate" et rien ne se passe, les logs ne sont pas réduits...
Hors ligne
#10 Le 16/01/2023, à 14:35
- geole
Re : Limiter la quantité de syslog
Merci de donner le contenu du fichier /etc/logrotate.conf
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#11 Le 16/01/2023, à 15:12
- obelix
Re : Limiter la quantité de syslog
Voici le contenu de "/etc/logrotate.conf" :
# see "man logrotate" for details
# rotate log files weekly
weekly
# use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}
# system-specific logs may be configured here
Hors ligne
#12 Le 16/01/2023, à 15:36
- geole
Re : Limiter la quantité de syslog
# rotate log files weekly
weekly
et si tu mettais hourly
man logrotate.conf
Il semble que ce n'est plus géré par des CRUN!!
Dernière modification par geole (Le 16/01/2023, à 15:38)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#13 Le 16/01/2023, à 15:51
- obelix
Re : Limiter la quantité de syslog
Je vais essayer mais je pensais que ceci suffirait :
/etc/cron.hourly/logrotate -> /etc/cron.daily/logrotate
Hors ligne
#14 Le 16/01/2023, à 18:08
- geole
Re : Limiter la quantité de syslog
Frequency
hourly Log files are rotated every hour. Note that usually logrotate is configured to be run by cron daily (or by logrotate.timer when using systemd(1)).
You have to change this configuration and run logrotate hourly to be able to really rotate logs hourly.
systemctl list-timers
et il faudra certainement le changer
a@p:~$ cat /lib/systemd/system/logrotate.timer
[Unit]
Description=Daily rotation of log files
Documentation=man:logrotate(8) man:logrotate.conf(5)
[Timer]
OnCalendar=daily
AccuracySec=1h
Persistent=true
[Install]
WantedBy=timers.target
a@p:~$
OnCalendar=hourly
AccuracySec=5min
Valeurs non testées
Dernière modification par geole (Le 16/01/2023, à 18:51)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#15 Le 17/01/2023, à 15:36
- obelix
Re : Limiter la quantité de syslog
Ce qui semble fonctionner :
- dans "/etc/logrotate.d/rsyslog" : rotate 3, size 10M, hourly
- /etc/cron.hourly/logrotate -> /etc/cron.daily/logrotate
- dans "/etc/logrotate.conf" : hourly
A voir sur le long terme...
Merci pour votre aide à tous !
Hors ligne