Jika pengedaran Linux anda menyokong systemd, maka bermula dari permulaan, ia akan memuat turun semua proses dan aplikasi daripada sistem setiap saat Kumpul log masuk program tersebut. Semua acara log ini diuruskan oleh daemon systemd's journald
. journald mengumpul semua log (maklumat, amaran, ralat, dll.) dan menyimpannya sebagai data binari dalam fail cakera.
Memandangkan log disimpan pada cakera dan dikumpulkan setiap saat, ia memerlukan ruang cakera yang besar terutamanya untuk sistem dan pelayan lama. Sebagai contoh, pada salah satu sistem ujian saya yang telah berjalan selama setahun atau lebih, fail log bersaiz gigabait.
Jika anda menguruskan berbilang sistem dan pelayan, adalah disyorkan bahawa anda mesti mengurus log jurnal dengan betul untuk operasi yang cekap. Mari kita lihat cara mengurus fail log.
Menggunakan alat journalctl
systemd, anda boleh menanyakan log ini dan melakukan pelbagai operasi padanya. Sebagai contoh, lihat fail log daripada pemula yang berbeza untuk memeriksa amaran dan ralat terakhir untuk proses atau aplikasi tertentu. Jika anda tidak mengetahui mana-mana perkara ini, saya syorkan anda melihat dengan pantas tutorial ini sebelum mengikuti panduan ini: Menggunakan journalctl untuk melihat dan menganalisis log systemd (dengan contoh) .
daemon journald systemd mengumpul log setiap kali ia dimulakan. Ini bermakna ia mengkategorikan fail log berdasarkan keadaan permulaan.
Log disimpan dalam bentuk binari dalam laluan /var/log/journal
, dan folder ialah ID mesin.
Contohnya:
Skrin skrin lokasi fail log-1
Tangkapan skrin lokasi fail log-2
Selain itu, perlu diingat bahawa bergantung pada konfigurasi sistem, fail log masa jalan disimpan dalam /run/log/journal/
. Dan ini akan dipadamkan pada setiap permulaan.
Anda boleh, tetapi jangan lakukannya. Sebaliknya, ikut arahan di bawah dan gunakan alat journalctl
untuk mengosongkan fail log untuk mengosongkan ruang cakera.
Buka terminal dan jalankan arahan berikut.
journalctl --disk-usage
Ini sepatutnya memberikan anda bilangan sebenar fail log yang digunakan pada sistem anda.
arahan penggunaan cakera journalctl
Jika anda mempunyai persekitaran desktop grafik, anda boleh membuka pengurus fail dan menyemak imbas laluan /var/log/journal
, dan semak sifatnya.
Cara berkesan untuk membersihkan fail log hendaklah melalui fail konfigurasi journald.conf
. Dalam keadaan biasa, walaupun journalctl
menyediakan alatan untuk memadam fail log, anda tidak seharusnya memadamkan fail ini secara manual.
让我们来看看如何 手动 删除它,然后我将解释 journald.conf
中的配置变化,这样你就不需要时不时地手动删除文件;相反,systemd 会根据你的配置自动处理它。
首先,你必须 flush
和 rotate
日志文件。轮换rotate是将当前活动的日志文件归档,并立即开始创建一个新的日志文件继续记录日志。冲洗flush 开关要求日志守护进程将存储在 /run/log/journal/
中的所有日志数据冲入 /var/log/journal/
,如果持久性存储被启用的话。
然后,在 flush
和 rotate
之后,你需要用 vacuum-size
、vacuum-time
和 vacuum-files
选项运行 journalctl
来强制 systemd 清除日志。
例 1:
sudo journalctl --flush --rotate
sudo journalctl --vacuum-time=1s
上面这组命令会删除所有存档的日志文件,直到最后一秒。这有效地清除了一切。因此,在运行该命令时要小心。
日志清理-例子
清理完毕后:
清理后--日志的占用空间
你也可以根据你的需要在 --vacuum-time
的数字后面提供以下后缀:
s
:秒m
:分钟h
:小时days
:天months
:月weeks
:周years
:年例 2:
sudo journalctl --flush --rotate
sudo journalctl --vacuum-size=400M
这将清除所有存档的日志文件,并保留最后 400MB 的文件。记住这个开关只适用于存档的日志文件,不适用于活动的日志文件。你也可以使用后缀,如下所示。
K
:KBM
:MBG
:GB例 3:
sudo journalctl --flush --rotate
sudo journalctl --vacuum-files=2
vacuum-files
选项会清除所有低于指定数量的日志文件。因此,在上面的例子中,只有最后两个日志文件被保留,其他的都被删除。同样,这只对存档的文件有效。
如果你愿意,你可以把两种选项结合起来,但我建议不要这样做。然而,如果同时使用两个选项,请确保先用 --rotate
选项运行。
虽然上述方法很好,也很容易使用,但建议你使用 journald 配置文件来控制日志文件的清理过程,该文件存在于 /etc/systemd/journald.conf
。
systemd 为你提供了许多参数来有效管理日志文件。通过组合这些参数,你可以有效地限制日志文件所占用的磁盘空间。让我们来看看。
journald.conf 参数 | 描述 | 实例 | |
| 指定日志在持久性存储中可使用的最大磁盘空间 | | |
| 指定在将日志条目添加到持久性存储时,日志应留出的空间量。 |
| |
|
| ||
|
| ).
| |
| 指定单个日志文件在被轮换之前在易失性存储(在 | |
如果你在运行中的系统的 /etc/systemd/journald.conf
文件中添加这些值,那么在更新文件后,你必须重新启动 journald。要重新启动,请使用以下命令。
sudo systemctl restart systemd-journald
在你清理完文件后,检查日志文件的完整性是比较明智的。要做到这一点,请运行下面的命令。该命令显示了日志文件是否通过(PASS
)、失败(FAIL
)。
journalctl --verify
验证日志文件
希望本指南能帮助你了解 systemd 日志管理流程的基本情况。通过这些,你可以通过限制空间、清除旧的日志文件来管理系统或服务器中的日志文件所使用的磁盘空间。这些只是指导性的命令,你可以通过多种方式组合这些命令来实现你的系统需求。
Atas ialah kandungan terperinci panduan penyelenggaraan log systemd (dengan contoh). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!