[/var/log/journal] non géré par logrotate ? (résolu)

Applications, problèmes de configuration réseau
Répondre
djipey
Chu Ko Nu
Messages : 437
Inscription : sam. 04 juin 2011, 10:13

[/var/log/journal] non géré par logrotate ? (résolu)

Message par djipey »

Bonsoir.

Voilà je viens de constater que mon /var/log augmentait en taille, alors que j'utilise logrotate. Je suis allé voir dans le dit-dossier, et il s'avère que journal/ prend beaucoup de place (environ 2 Go). Je suis allé voir dedans, et certains fichiers datent d'octobre, et ne sont pas nommés comme je l'ai spécifié dans la conf de logrotate -> ils ne sont pas traités.

C'est systemd qui écrit dans ce dossier, j'ai donc essayé "sudo systemctl enable syslog-ng". Je viens de le lancer à l'instant, je ne sais pas quand je verrai les effets.

Cependant, est-ce que vous sauriez s'il est possible de gérer ce dossier avec logrotate ? Comme je le fait pour les autres fichiers de logs quoi. Je sais que je pourrai limiter la taile du journal, mais uniquement en taille, je ne peux pas garder que les fichiers des x derniers jours.

Bien à vous, et bonne année.
Dernière modification par djipey le mer. 02 janv. 2013, 14:50, modifié 1 fois.
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [/var/log/journal] non géré par logrotate ?

Message par Ypnose »

djipey
Chu Ko Nu
Messages : 437
Inscription : sam. 04 juin 2011, 10:13

Re: [/var/log/journal] non géré par logrotate ?

Message par djipey »

Oui j'ai vu ça, je sais que je peux donner une taille limite (je l'ai précisé dans mon post précédent). Mais je voudrais garder les logs des x derniers jours, et non garder les x derniers Mo.
Avatar de l’utilisateur
karhu
Maître du Kyudo
Messages : 1222
Inscription : lun. 27 sept. 2010, 14:32
Localisation : Ile de France

Re: [/var/log/journal] non géré par logrotate ?

Message par karhu »

J'ai eu le même problème http://forums.archlinux.fr/topic12497.html.
Depuis j'ai légèrement modifié mon script (il y avait un petit bug) et maintenant je conserve les journaux par périodes d'activité. Si ça t'intéresse :
Le script

Code : Tout sélectionner

#!/bin/sh
#
### Préservation du dernier journal système : /etc/local.shutdown
#
# le répertoire /var/log/journal étant supprimé il faut sauvegarder system.journal
# pour éviter la recréation de ce répertoire ajouter dans /etc/pacman.conf
#	NoExtract = /var/log/journal
#
jour=`date '+%y_%m_%d'`;
if [ -d /run/log/journal ];
then
  rep="run";
else
  rep="var";
fi
dir=`ls -A /$rep/log/journal`;
if [ "/$rep/log/journal/$dir/system.journal" ];
then
  case $rep in
    run) cp /$rep/log/journal/$dir/system.journal /var/log/system.journal.$jour;;
    var) mv /$rep/log/journal/$dir/system.journal /var/log/system.journal.$jour;;
  esac
else
  echo "le fichier /$rep/log/journal/$dir/system.journal n'existe pas" > /var/log/system.journal.$jour;
fi
chmod 644 /var/log/system.journal.$jour;
Le service

Code : Tout sélectionner

[Unit]
Description=Local actions before halt
ConditionFileIsExecutable=/etc/local.shutdown
DefaultDependencies=no
After=basic.target
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/etc/local.shutdown
StandardInput=tty
RemainAfterExit=yes

[Install]
WantedBy=shutdown.target
ça fonctionne quelque soit la façon d'utiliser le journal, en temporaire ou en cumulatif.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [/var/log/journal] non géré par logrotate ?

Message par FoolEcho »

djipey a écrit :Mais je voudrais garder les logs des x derniers jours, et non garder les x derniers Mo.
Alors logrotate + syslog-ng est effectivement ce qu'il te faut.
À mon avis, soit tu limites la taille du journal de systemd (mais les infos avec syslog font doublon), soit tu supprimes /var/log/journal (et ainsi tu n'as les journaux de systemd que pour la session en cours).
«The following statement is not true. The previous statement is true.» :nage:
djipey
Chu Ko Nu
Messages : 437
Inscription : sam. 04 juin 2011, 10:13

Re: [/var/log/journal] non géré par logrotate ?

Message par djipey »

Ok, donc "sudo systemctl enable syslog-ng" était la bonne solution ? Mais du coup, où sont stockés les logs du journal si je fais ça ? Dans syslog ?
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [/var/log/journal] non géré par logrotate ?

Message par FoolEcho »

Dans /var/log/ (kernel.log, everything.log, etc. et pour logrotate, ce sont les fichiers qui se terminent par .1, .2, etc.).
Il faut aussi que le service cron soit activé pour logrotate: http://wiki.archlinux.fr/Cron#Archivage_des_logs.
«The following statement is not true. The previous statement is true.» :nage:
djipey
Chu Ko Nu
Messages : 437
Inscription : sam. 04 juin 2011, 10:13

Re: [/var/log/journal] non géré par logrotate ?

Message par djipey »

D'accord. Donc en fait, le journal est un rassemblement de tout ces logs ? Et d'autres programmes écrivent dans ces logs aussi, pas seulement systemd ?


EDIT:je vais supprimer journal/, le problème est résolu en soi, mais je voudrais savoir comment ça marche.
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [/var/log/journal] non géré par logrotate ?

Message par Ypnose »

Faudrait que je regarde, parce que sous Fedora 18, les logs affichés sont uniquement pour le jour J et on peux aussi accéder au logs des jours précédents.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [/var/log/journal] non géré par logrotate ?

Message par FoolEcho »

djipey a écrit :Donc en fait, le journal est un rassemblement de tout ces logs ?
L'organisation est différente entre syslog et journald mais en gros oui, tu auras les mêmes infos dans les deux cas (systemd ayant l'avantage à mon avis de pouvoir plus facilement isoler ce qu'on veut).
Par contre, c'est vrai (en tous cas sur ce que j'ai vu de journald jusque là) que journald va se limiter sur la taille alors qu'au moyen de logrotate on peut facilement contraindre une durée pour syslog. Pour limiter vis-à-vis de journald, il faut suivre ce qu'a fait karhu.

À noter quand même que le journal de systemd peut être sorti à une date avec --since et --until (sauf que si since fonctionne bien, il me semble que until lui ne fonctionne pas ; je n'ai pas investigué là-dessus ni ouvert un sujet ici pour le moment mais bizarrement ça ne paraît être remonté nulle part :? -- ou alors j'ai raté une configuration/information quelconque... :oops: ... zou, j'ai ouvert un sujet là-dessus si ça vous intéresse: http://forums.archlinux.fr/topic12627.html ).
«The following statement is not true. The previous statement is true.» :nage:
djipey
Chu Ko Nu
Messages : 437
Inscription : sam. 04 juin 2011, 10:13

Re: [/var/log/journal] non géré par logrotate ?

Message par djipey »

Ok, merci à vous.
Répondre