Saya menggunakan mesin virtual kvm ubuntu 10.04 untuk menguji beberapa fitur modul kernel. Saya melihat-lihat /var/log
file untuk mengamati pesan kernel tentang modul itu.
Untuk memulai dari kondisi bersih, saya menghapus file log yang berisi pesan lama dengan menjalankan rm -rf /var/log/*
dan kemudian me-reboot mesin virtual. Namun, setelah saya reboot, file log baru masih berisi pesan log lama itu. Dibutuhkan sekitar 5-6 siklus menghapus file dan me-reboot mesin virtual untuk akhirnya menyingkirkan pesan file log tersebut.
Mengapa ini terjadi? Apakah ada cara yang lebih mudah untuk membersihkan file log?
logrotate
adalah perangkat lunak resmi linux tentang menghapus & memutar log secara otomatis.Jawaban:
Cara termudah untuk membersihkan log lama adalah tidak menghapusnya.
Cara terbaik untuk membersihkan log adalah
logrotate
seperti yang ditunjukkan oleh Hanan N. atau:untuk masing-masing file log. Saya tidak yakin entri log mana yang Anda maksud dari boot sebelumnya tetapi jika Anda ingin menghapus ini setelah boot, Anda dapat memasukkan perintah di atas ke dalam
/etc/rc.local
skrip sehingga semua logging untuk setelah boot.Biasanya meskipun Anda tidak ingin menghapus log karena mereka adalah titik awal Anda dalam semua pemecahan masalah.
sumber
find /var/log/* -exec cp /dev/null {} \;
?Untuk apa yang Anda lakukan, mungkin lebih baik menambahkan file log tambahan untuk pesan kernel. Beberapa daemon log memungkinkan Anda melakukan kecocokan pada catatan yang sedang ditulis, sehingga Anda hanya mendapatkan catatan yang sesuai dalam file Anda. Anda kemudian dapat memutar, menghapus, atau mengganti nama file antara menjalankan. (Jika Anda tidak me-reboot, Anda mungkin perlu mengirim sinyal HUP ke daemon log untuk mendapatkannya membuka kembali file-nya.
Ada juga alat yang hanya akan mengekstrak catatan baru dari log. The
logtail
utilitas darilogcheck
paket adalah salah satu utilitas tersebut. Itu dapat dijalankan dengan file offset alternatif.Ada alat lain yang mengawasi log untuk catatan yang cocok dengan suatu pola dan melaporkannya. Salah satunya mungkin bekerja dengan baik untuk Anda.
sumber
Ini tampaknya berfungsi baik (pada Ubuntu LTS 14.04) dengan memutar log Anda ke log bersih dan kemudian menghapus entri log yang lebih lama. Ini mirip dengan metode cp / dev / null, tapi saya pikir ini lebih bersih. ymmv
sumber