自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何手動輪換Linux上的日志文件

譯文
系統(tǒng) Linux
日志輪換(log rotation)是Linux系統(tǒng)上的常見操作,可以防止任何特定的日志文件變得太大,又確保系統(tǒng)活動方面仍有足夠的詳細(xì)信息,用于必要的系統(tǒng)監(jiān)測和故障排除。

[[319652]]

【51CTO.com快譯】日志輪換(log rotation)是Linux系統(tǒng)上的常見操作,可以防止任何特定的日志文件變得太大,又確保系統(tǒng)活動方面仍有足夠的詳細(xì)信息,用于必要的系統(tǒng)監(jiān)測和故障排除。

一組日志文件中最舊的日志文件刪除后,剩余的日志文件降一格,較新的文件取而代之,成為當(dāng)前日志文件。這個過程很容易實(shí)現(xiàn)自動化,可以根據(jù)需要調(diào)整詳細(xì)信息。

你可以通過使用logrotate命令手動輪換日志文件。本文詳細(xì)介紹了如何手動輪換日志文件和預(yù)期看到的內(nèi)容。

本文中描述的示例適用于Ubuntu和相關(guān)的Linux系統(tǒng)。其他系統(tǒng)可能使用不同的日志文件和配置文件名,但是過程本身應(yīng)大同小異。

為什么輪換日志文件?

在正常情況下,無需手動輪換日志文件。你的Linux系統(tǒng)應(yīng)該已經(jīng)被設(shè)置為每天(或更久)輪換一些日志,根據(jù)日志大小輪換其他日志。如果你需要輪換日志文件以釋放空間,或?qū)?dāng)前日志與進(jìn)行中的活動分開來,這很容易做到,但取決于你的文件輪換規(guī)格。

介紹一點(diǎn)背景

一旦安裝了Linux系統(tǒng),許多日志文件被設(shè)置以便輪換。此外,某些應(yīng)用程序安裝到系統(tǒng)上后會添加自己的日志文件和輪換規(guī)格。日志文件輪換的配置文件可以在/etc/logrotate.d目錄中找到。

在日志輪換過程中,當(dāng)前日志通常獲得log.1之類的名稱,舊log.1變成了log.2,依此類推,而最舊的日志文件(比如log.7)從系統(tǒng)中刪除。當(dāng)然,所保留版本的名稱和數(shù)量取決于輪換的日志以及/etc/logrotate.d目錄中那些文件的輪換規(guī)格。對于一些日志文件,只保留了幾“代”,而對于另一些日志文件,可能會看到七代甚至更多代。

在通常的日志文件輪換之后,syslog文件可能如下所示。(注意:行尾添加了“was syslog”注釋,以說明輪換過程如何影響了文件。) 

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

除了該系統(tǒng)上當(dāng)前和最新的日志文件外,所有其他日志文件已壓縮以節(jié)省空間,這不足為奇。大多數(shù)系統(tǒng)管理員可能只會查看最新的文件,因此保持其他文件可用但已壓縮是明智之舉。

手動輪換日志

想手動輪換syslog文件,就要使用logrotate命令,如下所示:

  1. $ sudo logrotate -f /etc/logrotate.d/rsyslog 

請注意,該logrotate命令使用-f(強(qiáng)行輪換)選項(xiàng)。輪換配置詳細(xì)信息從/etc/logrotate.d/rsyslog目錄中的指定文件中提取。然后,該命令將遵循典型的過程——刪除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.1.gz,但不一定會創(chuàng)建新的syslog文件。你可以使用諸如此類的命令手動執(zhí)行此操作,以設(shè)置文件并確保適當(dāng)?shù)奈募袡?quán)和權(quán)限:

  1. $ sudo touch /var/log/syslog  
  2. $ sudo chown syslog:adm /var/log/syslog  
  3. $ sudo chmod 640 /var/log/syslog 

另外,你可以將這一行添加到etc/logrotate.d/rsyslog文件為你做這項(xiàng)工作:

  1. create 0640 syslog adm 

插入以下所示的內(nèi)容:

  1. /var/log/syslog  
  2.  
  3. rotate 7  
  4. daily  
  5. missingok  
  6. notifempty  
  7. create 0640 syslog adm <==  
  8. delaycompress  
  9. compress  
  10. postrotate  
  11. /usr/lib/rsyslog/rsyslog-rotate  
  12. endscript  

這是對記錄用戶登錄的wtmp日志文件執(zhí)行手動日志輪換的例子。注意:由于/etc/logrotate.d/wtmp中的“rotate 2”規(guī)格,該系統(tǒng)上只保留了兩個wtmp文件。

之前:

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

命令:

  1. $ sudo logrotate -f /etc/logrotate.d/wtmp 

之后:

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

注意:每個日志的最新輪換被記錄在logrotate的狀態(tài)文件中——無論輪換是手工執(zhí)行還是自動執(zhí)行:

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

原文標(biāo)題:Manually rotating log files on Linux,作者:Sandra Henry-Stocker

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2020-02-11 12:54:34

Linux日志文件消息

2018-01-31 12:40:48

Linux命令文件搜索

2010-06-10 16:00:23

MySQL 5

2021-06-16 06:31:55

Linkerd 2.1Step by SteWebhook TLS

2019-04-25 13:30:14

Linux文件分身

2019-10-21 08:56:36

Linux日志文件拆分

2020-03-26 12:47:14

Linux日志滾動

2019-10-11 08:00:00

Linux命令最大文件

2010-04-14 17:11:13

Oracle管理

2019-06-10 08:15:52

Linux命令

2023-02-10 09:40:26

systemd日志

2021-08-30 13:08:54

Linux實(shí)時(shí)監(jiān)控日志文件

2010-03-09 17:57:46

2023-12-20 22:04:17

Linux二進(jìn)制文件

2020-12-28 06:44:45

FedoraLinux RPM文件

2014-12-15 09:59:28

LinuxApache

2010-01-27 09:58:59

Linuxunix程序日志

2011-01-18 11:15:19

LinuxLOG

2015-03-30 11:34:19

LinuxFSlint

2015-08-03 15:48:22

Linux日志
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號