[轉帖]持久化journalctl日誌清空命令查看配置參數詳解

持久化journalctl日誌清空命令查看配置參數詳解

 
最近 linux上面部署服務 習慣使用systemd 進行處理 這樣最大的好處可以 使用journalctl 進行查看日誌信息. 今天清理了下 日誌 用的是 cd /run/log/journal 刪除掉裏面的文件來執行的 其實還能夠執行持久化的操做 就是這個博客將的了 不過我還沒看完.. https://www.chenweiliang.com/cwl-1141.html

命令 "journalctl -k" 和 "journalctl --dmesg" 用來顯示系統的內核日誌信息。html

 
   

永久保存journalctl日誌mysql

 
   

默認journalctl的日誌都是保存到內存中。要保存到文件,只需建立/var/log/journal目錄,重啓journald服務便可linux

 
   

# mkdir -p /var/log/journalsql

 
   

# systemctl restart systemd-journald
————————————————
版權聲明:本文爲CSDN博主「左手Z右邊」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/qijkkwcw/article/details/90265091數據庫

 

 

 2018年8月29日centos

每當電商網站管理員遇到MySQL數據庫、Apache之類的應用程序,沒法如常啓動時,Linux系統都會有提示,使用 journalctl -ex 命令查看它。wordpress

  • 一般能夠快速查找相關日誌。
  • 通過這樣分析日誌,能夠快速解決問題。

journal是什麼意思?

journal基本解釋:學習

  • n.日報,日誌,日記;按期刊物,期刊,雜誌;[會計]分類帳
  • 變化形式
  • 複數journals

持久化journal的日誌

持久化是在持久狀態和瞬態狀態之間轉換程序數據的機制。網站

通俗地說,瞬態數據(例如沒法永久存儲的內存數據),持久化會持久存儲到持久數據(例如數據庫持久性,能夠長時間存儲)。

CentOS 7.X中,systemd管理全部單元的啓動日誌。

  • Systemd-journald是systemd管理的漸進式日誌管理服務。
  • 它從內核收集日誌,系統守護程序在系統的早期啓動階段啓動並運行。
  • 標準輸出和錯誤消息,以及系統日誌的日誌。

journalctl日誌路徑

日誌服務僅將日誌文件保存在單個結構中。

如下是CentOS 7 系統 VestaCP控制面板,journalctl日誌的保存路徑 ▼

/var/log/journal
  • 由於日誌是壓縮和格式化的二進制數據,因此在查看和定位很是快。

journalctl查看日誌命令

journalctl日誌命令詳解

不加上任何選項,讓journalctl輸出全部日誌記錄的命令 ▼

journalctl

journalctl查看全部日誌

  • 這基本上沒用,由於你立刻會被如洪水般的日誌記錄「淹沒」,讓你感到不堪重負。

接下來,咱們將學習如何有效地過濾有價值的日誌信息。

查看指定時間段journalctl日誌

使用如下命令選項,設置時間段 ▼

--since
--until
  • 時間段負責指定給定時間以前和以後的日誌記錄。

時間值能夠採用多種格式,例如如下格式 ▼

YYYY-MM-DD HH:MM:SS

若是你想檢查在2018年3月8日晚上8點20分以後日誌,請輸入如下命令 ▼

journalctl --since "2018-03-26 20:20:00"
  • 若是未填寫上述格式的某些組件,系統將直接填充默認值。
  • 例如,若是未填充日期部分,則直接顯示當前日期。
  • 若是未填充時間部分,則默認使用「00:00:00」(午夜)。
  • 秒字段也能夠留空。

默認值爲「00」,例如如下命令 ▼

journalctl --since "2018-03-26" --until "2018-03-26 03:00"

此外,journalctl還能夠理解一些相對值和命名簡寫。

  • 例如,你能夠使用"yesterday"、"today"、"tomorrow"或"now"。

例如,要獲取昨天的日誌數據,能夠使用如下命令 ▼

journalctl --since yesterday

要從上午9:00到最後一小時獲取日誌,能夠使用如下命令 ▼

journalctl --since 09:00 --until "1 hour ago"

實時更新查看journalctl日誌

跟 tail -f 命令相似,journalctl支持-f選項,以便實時顯示日誌 ▼

journalctl -f

若是想查看設備的實時日誌,請添加-u選項 ▼

$ sudo journalctl -f -u prometheus.service

僅顯示最journalctl 新的n行

命令行選項 -n 用於僅控制最新的n行日誌。

默認是在最後顯示最新的10行日誌 ▼

$ sudo journalctl -n

你還能夠在末尾顯示指定行數的日誌 ▼

$ sudo journalctl -n 20

如下是顯示cron.service服務的最新三行日誌 ▼

$ journalctl -u cron.service -n 3

網絡營銷人員使用VPS建站,安裝VestaCP控制面板,搭建WordPress網站。

常常使用 df -h 命令查看VPS磁盤容量,發現每個月以1GB的趨勢在上升(記得上個月是1GB)

[root@ten ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/simfs       20G  7.5G   13G  38% /

devtmpfs        256M     0  256M   0% /dev

tmpfs           256M     0  256M   0% /dev/shm

tmpfs           256M  244K  256M   1% /run

tmpfs           256M     0  256M   0% /sys/fs/cgroup

tmpfs            52M     0   52M   0% /run/user/0

查看journalctl日誌使用容量命令

檢查當前 journalctl 日誌使用磁盤容量命令 ▼

journalctl --disk-usage

journalctl清空刪除日誌

因爲Linux是一個很是敏感的操做系統,若刪除文件錯誤,很容易形成系統崩潰。

因此,清理journalctl日誌的方法,請按日期、容許保留的容量進行刪除。

journalctl --vacuum-time=2d
journalctl --vacuum-size=500M

若是要手動刪除日誌文件,則須要在刪除以前輪轉(循環)日誌。

systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service

journalctl配置持久性容量

要啓用日誌限制持久性配置,你能夠修改journald的配置文件 ▼

/etc/systemd/journald.conf

SystemMaxUse=16M

ForwardToSyslog=no

而後,重啓journald ▼

systemctl restart systemd-journald.service

檢查日誌是否如常?日誌文件是否無缺且未損壞? ▼

journalctl --verify

如下是清理journalctl日誌以後的VPS磁盤容量,以及journalctl日誌容量 ▼

[root@ten /]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/simfs       20G  5.7G   15G  29% /

devtmpfs        256M     0  256M   0% /dev

tmpfs           256M     0  256M   0% /dev/shm

tmpfs           256M  308K  256M   1% /run

tmpfs           256M     0  256M   0% /sys/fs/cgroup

tmpfs            52M     0   52M   0% /run/user/0

[root@ten /]# journalctl --disk-usage

Archived and active journals take up 24.0M on disk.

持久化 journalctl 日誌詳解,到此結束 ^_^

相關文章
相關標籤/搜索