J'ai passé quelques jours à écrire un script python et à créer un fichier d'unité systemd pour cela. Pendant les tests, le script a enregistré de nombreuses erreurs dans journald. Je voudrais effacer ces erreurs du journal maintenant que j'ai fini.
Il existe plusieurs façons d'effacer l'intégralité du journal, comme décrit ici: Comment effacer journalctl,
notamment en utilisant journalctl --vacuum-time=2d
, en utilisant journalctl --vacuum-size=500M
et en définissant temporairement SystemMaxUse=
dans /etc/systemd/journald.conf une valeur très faible.
Tous ces éléments semblent effacer tout le journal, affectant toutes les unités. J'ai juste besoin d'effacer les entrées pour une seule unité. Est-ce possible?
Réponses:
Utilisez mon programme Python 3 copy_journal.py sur les fichiers journaux dans
/var/log/journal
lesquels vous souhaitez supprimer les entrées.Par exemple, pour faire une copie des
system.journal
entrées sans journal pourNetworkManager.service
:la source
Je ne pense pas que ce soit possible, car selon la page de manuel journalctl "La sortie est entrelacée de tous les fichiers de journal accessibles, qu'ils soient tournés ou en cours d'écriture".
Vous pouvez cependant le filtrer par une unité - 'journalctl -u some.service' puis essayer de supprimer les entrées de journal du journal avec votre propre script en utilisant cron.
la source