Saya menghabiskan beberapa hari menulis skrip python, dan membuat file unit systemd untuk itu. Selama pengujian, skrip mencatat banyak kesalahan ke journald. Saya ingin menghapus kesalahan-kesalahan dari journald sekarang setelah saya selesai.
Ada beberapa cara untuk menghapus seluruh jurnal, seperti dijelaskan di sini: Cara menghapus journalctl
termasuk menggunakan journalctl --vacuum-time=2d
, menggunakan journalctl --vacuum-size=500M
, dan sementara pengaturan SystemMaxUse=
di /etc/systemd/journald.conf ke nilai yang sangat rendah.
Semua ini tampaknya menghapus seluruh jurnal, mempengaruhi semua unit. Saya hanya perlu menghapus entri untuk satu unit. Apakah ini mungkin?
Jawaban:
Gunakan program Python 3 saya copy_journal.py pada file jurnal
/var/log/journal
tempat Anda ingin menghapus entri.Misalnya, untuk membuat salinan
system.journal
tanpa entri log untukNetworkManager.service
:sumber
Saya tidak berpikir itu mungkin, karena menurut halaman manual journalctl "Output disisipkan dari semua file jurnal yang dapat diakses, apakah mereka diputar atau sedang ditulis".
Namun Anda dapat memfilternya dengan unit - 'jurnalctl -u some.service' dan kemudian mencoba untuk menghapus entri log dari jurnal dengan skrip Anda sendiri menggunakan cron.
sumber