日誌
服務失敗、登入被拒、磁碟 I/O 錯誤,線索幾乎都在 log。現代發行版以 systemd journal 為主,傳統文字檔仍在 /var/log。
journalctl
| 選項 | 作用 |
|---|---|
-u |
某個服務 |
-e |
跳到結尾 |
-f |
持續追蹤,像 tail -f |
-xe |
最近錯誤並加說明 |
--since |
時間範圍 |
預設可能用 less 開啟,Q 離開。權限不足時加 sudo,否則只能看到自己這次登入的訊息。
-p err 只看 error 以上,-b 限定這次開機。
/var/log 裡的文字檔
發行版不同,檔名略有差異。Ubuntu 常見:
| 路徑 | 內容 |
|---|---|
/var/log/syslog 或 journal |
系統綜合訊息 |
/var/log/auth.log |
登入、sudo、SSH |
/var/log/nginx/ |
網站存取與錯誤 |
標準除錯順序
systemctl status 服務名看有沒有 failed 與最後幾行journalctl -u 服務名 -e看完整脈絡- 仍不夠再進該軟體自己的 log 目錄
空間被 log 吃光時,先 du -h --max-depth=1 /var/log,再決定清舊檔或調 logrotate,而不是整目錄 rm。
總結
先 journalctl -u 服務 -e,再翻 /var/log。會看 log,才算會管 Linux。