您的位置:首頁 > 教程 > linux > 在 Linux 系統中手動滾動日志的方法

在 Linux 系統中手動滾動日志的方法

2022-06-19 07:34:23 來源:易采站長站 作者:

在 Linux 系統中手動滾動日志的方法

使用 logrotate 命令可以手動執行日志滾動的操作。本文將要介紹的就是手動進行日志滾動的方法,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧gdG站長之家-易采站長站-Easck.Com

日志滾動log rotation在 linux 系統上是再常見不過的一個功能了,它為系統監控和故障排查保留必要的日志內容,同時又防止過多的日志造成單個日志文件太大。gdG站長之家-易采站長站-Easck.Com

日志滾動的過程是這樣的:在一組日志文件之中,編號最大的(最舊的)一個日志文件會被刪除,其余的日志文件編號則依次增大并取代較舊的日志文件,而較新的文件則取代它作為當前的日志文件。這一個過程很容易就可以實現自動化,在細節上還能按需作出微調。gdG站長之家-易采站長站-Easck.Com

使用 logrotate 命令可以手動執行日志滾動的操作。本文將要介紹的就是手動進行日志滾動的方法,以及預期產生的結果。gdG站長之家-易采站長站-Easck.Com

文中出現的示例適用于 Ubuntu 等 Linux 系統,對于其它類型的系統,日志文件和配置文件可能會有所不同,但日志滾動的過程是大同小異的。gdG站長之家-易采站長站-Easck.Com

為什么需要滾動日志gdG站長之家-易采站長站-Easck.Com
gdG站長之家-易采站長站-Easck.Com

一般情況下,無需手動旋轉日志文件。Linux 系統會每隔一天(或間隔更長的時間)或根據日志文件的大小自動進行一次日志滾動。如果你需要滾動日志以釋放存儲空間,又或者將某一部分日志從當前的活動中分割出來,這很容易做到,具體要取決于文件滾動規則。gdG站長之家-易采站長站-Easck.Com

一點背景介紹gdG站長之家-易采站長站-Easck.Com

在 Linux 系統安裝完成后就已經有很多日志文件被納入到日志滾動的范圍內了。另外,一些應用程序在安裝時也會為自己產生的日志文件設置滾動規則。一般來說,日志滾動的配置文件會放置在 /etc/logrotate.d。如果你想了解日志滾動的詳細實現,可以參考這篇以前的文章。gdG站長之家-易采站長站-Easck.Com

在日志滾動的過程中,活動日志會以一個新名稱命名,例如 log.1,之前被命名為 log.1 的文件則會被重命名為 log.2,依此類推。在這一組文件中,最舊的日志文件(假如名為 log.7)會從系統中刪除。日志滾動時文件的命名方式、保留日志文件的數量等參數是由 /etc/logrotate.d 目錄中的配置文件決定的,因此你可能會看到有些日志文件只保留少數幾次滾動,而有些日志文件的滾動次數會到 7 次或更多。gdG站長之家-易采站長站-Easck.Com

例如 syslog 在經過日志滾動之后可能會如下所示(注意,行尾的注釋部分只是說明滾動過程是如何對文件名產生影響的):gdG站長之家-易采站長站-Easck.Com

$ ls -l /var/log/syslog*
-rw-r----- 1 syslog adm 128674 Mar 10 08:00 /var/log/syslog <== 新文件
-rw-r----- 1 syslog adm 2405968 Mar 9 16:09 /var/log/syslog.1 <== 之前的 syslog
-rw-r----- 1 syslog adm 206451 Mar 9 00:00 /var/log/syslog.2.gz <== 之前的 syslog.1
-rw-r----- 1 syslog adm 216852 Mar 8 00:00 /var/log/syslog.3.gz <== 之前的 syslog.2.gz
-rw-r----- 1 syslog adm 212889 Mar 7 00:00 /var/log/syslog.4.gz <== 之前的 syslog.3.gz
-rw-r----- 1 syslog adm 219106 Mar 6 00:00 /var/log/syslog.5.gz <== 之前的 syslog.4.gz
-rw-r----- 1 syslog adm 218596 Mar 5 00:00 /var/log/syslog.6.gz <== 之前的 syslog.5.gz
-rw-r----- 1 syslog adm 211074 Mar 4 00:00 /var/log/syslog.7.gz <== 之前的 syslog.6.gz

你可能會發現,除了當前活動的日志和最新一次滾動的日志文件之外,其余的文件都已經被壓縮以節省存儲空間。這樣設計的原因是大部分系統管理員都只需要查閱最新的日志文件,其余的日志文件壓縮起來,需要的時候可以解壓查閱,這是一個很好的折中方案。gdG站長之家-易采站長站-Easck.Com

手動日志滾動gdG站長之家-易采站長站-Easck.Com
gdG站長之家-易采站長站-Easck.Com

你可以這樣執行 logrotate 命令進行手動日志滾動:gdG站長之家-易采站長站-Easck.Com

$ sudo logrotate -f /etc/logrotate.d/rsysloggdG站長之家-易采站長站-Easck.Com

值得一提的是,logrotate 命令使用 /etc/logrotate.d/rsyslog 這個配置文件,并通過了 -f 參數實行“強制滾動”。因此,整個過程將會是:gdG站長之家-易采站長站-Easck.Com

刪除 syslog.7.gz,
將原來的 syslog.6.gz 命名為 syslog.7.gz,
將原來的 syslog.5.gz 命名為 syslog.6.gz,
將原來的 syslog.4.gz 命名為 syslog.5.gz,
將原來的 syslog.3.gz 命名為 syslog.4.gz,
將原來的 syslog.2.gz 命名為 syslog.3.gz,
將原來的 syslog.1.gz 命名為 syslog.2.gz,
但新的 syslog 文件不一定必須創建。gdG站長之家-易采站長站-Easck.Com

你可以按照下面的幾條命令執行操作,以確保文件的屬主和權限正確:gdG站長之家-易采站長站-Easck.Com

$ sudo touch /var/log/syslog
$ sudo chown syslog:adm /var/log/syslog
$ sudo chmod 640 /var/log/syslog
gdG站長之家-易采站長站-Easck.Com

你也可以把以下這一行內容添加到 /etc/logrotate.d/rsyslog 當中,由 logrotate 來幫你完成上面三條命令的操作:gdG站長之家-易采站長站-Easck.Com

create 0640 syslog admgdG站長之家-易采站長站-Easck.Com

整個配置文件的內容是這樣的:gdG站長之家-易采站長站-Easck.Com

/var/log/syslog
{
rotate 7
daily
missingok
notifempty
create 0640 syslog adm <==
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
gdG站長之家-易采站長站-Easck.Com

下面是手動滾動記錄用戶登錄信息的 wtmp 日志的示例。由于 /etc/logrotate.d/wtmp 中有 rotate 2 的配置,因此系統中只保留了兩份 wtmp 日志文件。gdG站長之家-易采站長站-Easck.Com

滾動前:gdG站長之家-易采站長站-Easck.Com

$ ls -l wtmp*
-rw-r----- 1 root utmp 1152 Mar 12 11:49 wtmp
-rw-r----- 1 root utmp 768 Mar 11 17:04 wtmp.1

執行滾動命令:gdG站長之家-易采站長站-Easck.Com

$ sudo logrotate -f /etc/logrotate.d/wtmpgdG站長之家-易采站長站-Easck.Com

滾動后:gdG站長之家-易采站長站-Easck.Com

$ ls -l /var/log/wtmp*
-rw-r----- 1 root utmp 0 Mar 12 11:52 /var/log/wtmp
-rw-r----- 1 root utmp 1152 Mar 12 11:49 /var/log/wtmp.1
-rw-r----- 1 root adm 99726 Feb 21 07:46 /var/log/wtmp.report

需要知道的是,無論發生的日志滾動是自動滾動還是手動滾動,最近一次的滾動時間都會記錄在 logrorate 的狀態文件中。gdG站長之家-易采站長站-Easck.Com

$ grep wtmp /var/lib/logrotate/status
"/var/log/wtmp" 2020-3-12-11:52:57

總結gdG站長之家-易采站長站-Easck.Com

到此這篇關于在 Linux 系統中手動滾動日志的文章就介紹到這了,更多相關linux 滾動日志內容請搜索我們以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持我們!gdG站長之家-易采站長站-Easck.Com

如有侵權,請聯系QQ:279390809 電話:15144810328

相關文章

  • Linux下用GHOST來做系統備份

    Linux下用GHOST來做系統備份

    在Windows系統下備份我們可以用GHOST工具軟件完成,Linux系統不能完全依賴于GHOST工具,一則是GHOST本身是有版權的軟件,二是GHOST只支持ext2、ext3文件系統的Linux分區,不支持reiserfs、xfs等
    2019-10-25
  • 給 FreeBSD 12.1 安裝 GNOME3 圖形界面

    給 FreeBSD 12.1 安裝 GNOME3 圖形界面

    FreeBSD是一個完全開放的、安全的系統,可以Do it yourself的系統。但是個人還是不喜歡呆板的命令行界面,所有就給 FreeBSD 12.1 安裝 GNOME3 圖形界面。 開始操作,啟動FreeBSD 12.1,以root身份
    2019-10-27
  • Ubuntu Studio一個不錯的操作系統

    Ubuntu Studio一個不錯的操作系統

    Ubuntu Studio 是一個基于 Ubuntu 而面向音頻、視頻及圖形愛好者的操作系統。本次推出的 Ubuntu Studio 為 7.04 版,目前僅支持 Intel i386 兼容的處理器。 Ubuntu Studio 從大量的開源多媒體創作程序
    2019-10-25
  • 最受歡迎的10款Linux免費游戲

    最受歡迎的10款Linux免費游戲

    圖為在Linux下運行的免費游戲America's Army 如果你認為 Linux下沒有什么好游戲的話,那就錯了!我們來看看Linux下最受歡迎的10款游戲吧,而且這些游戲都是完全免費的! # skyreal update(06-12
    2019-10-25
  • compiz fusion特效使用心得(附3D桌面圖)

    compiz fusion特效使用心得(附3D桌面圖)

    3D桌面圖 LINUX發行版就是好,當大多數人還在沉迷于那些什么風格圖標鳥玻璃效果甚至孜孜不倦津津樂道的時候,Linux的高手們已經悄悄為我們開啟了一個桌面系統3D的時代。 當我第一次
    2019-10-25
  • Ubuntu 下aMule 的安裝配置

    Ubuntu 下aMule 的安裝配置

    aMule 是一個類似于 eMule 的多平臺 P2P 客戶端程序。以下將簡略敘述 aMule 在 Ubuntu 中的安裝及配置 [High ID] 與 [KAD] 的過程。 安裝: sudo apt-get install amule sudo apt-get install amule-utils 如果需要
    2019-10-25
  • JMeter jp@gc - stepping thread group插件

    JMeter jp@gc - stepping thread group插件

    這是一個出單接口壓力測試的小例子,了解一下壓力測試最最基礎的基礎。出單接口是用來保險出單的,不需要在UI界面下一步下一步的出單,接口一調數據入庫完事~~~。再啰嗦一句接
    2019-10-27
  • Ubuntu 下使用K3B軟件刻錄光盤(圖)

    Ubuntu 下使用K3B軟件刻錄光盤(圖)

    不知大家會不會在Ubuntu下刻錄光盤呢?k3b是KDE環境下的一個CD/DVD刻錄軟件,有非常容易使用的界面,功能比較齊全。用起來感覺就象是win下的Nero一樣簡單自然,比ubuntu里原來的刻錄CD方式
    2019-10-25
色七七影院_香港三级台湾三级在线播放_男人放进女人阳道猛进猛出