Centos7配置logrotate日誌輪轉

2021-10-08 08:27:20 字數 2771 閱讀 6743

當伺服器系統在持續執行時,伺服器中部署的各種服務就會產生日誌,長此以往伺服器中儲存的日誌檔案會越來越大,乙個日誌檔案可能占用數百g的磁碟容量,難以儲存,也難以通過檢視日誌檔案進行排錯。因此,我們需要對日誌進行輪轉操作,只需要保留近期的日誌資訊,對比較久遠的日誌資訊進行壓縮並轉存到日誌伺服器,這樣做可以讓大大降低日誌占用的磁碟空間,同時保證我們可以在服務出現問題的時候通過日誌資訊進行排錯和解決

工具

logrotate日誌輪轉工具可以很輕鬆的管理系統所產生的日誌,它提供自動壓縮、刪除、分割日誌檔案的功能,logrotate日誌輪狀的優點有:

1)可以分隔,如按天,按月,按年分割日誌,減小日誌大小,降低分析難度

2)可以及時清除在rotate輪轉期限外的多於日誌資料

3)結合計畫任務執行

常用引數

compress:通過gzip對轉儲以後的日誌進行壓縮

nocompress:不對日誌進行gzip壓縮處理

copytruncate:用於處理還在開啟中的日誌檔案,以先拷貝再清空的方式對當前日誌進行備份並截斷操作;由於拷貝和清空之間有乙個時間差,可能會丟失部分日誌資料

nocopytruncate:備份日誌檔案但不進行截斷操作

create mode owner group:輪轉時指定建立新檔案,可指定許可權、屬主和屬組

nocreate:日誌輪轉後不建立新的日誌檔案

delaycompress:發生輪轉的日誌檔案到下一次轉儲時才壓縮

nodelaycompress:日誌輪轉同時進行壓縮

missingok:如果日誌丟失,忽略此日誌不產生報錯

errors address:輪轉時產生的錯誤資訊傳送到指定的email位址

ifempty:空日誌也進行日誌輪轉

notifempty:空日誌不進行輪轉

olddir directory:輪轉後的日誌檔案放入指定的目錄,指定目錄和當前日誌檔案需要在同乙個檔案系統

noolddir:輪轉後的日誌檔案和當前日誌檔案放在同乙個目錄下

sharedscripts:所有日誌都輪轉後統一執行postrotate指令碼

prerotate:在logrotate輪轉之前需要執行的指令,如修改檔案的屬性

postrotate:在logrotate轉儲之後需要執行的指令,如重啟(

kill

-hup)服務

daily:指定輪轉週期為每天

weekly:指定輪轉週期為每週

monthly:指定輪轉週期為每月

rotate count:指定日誌檔案刪除之前輪轉的次數,0:沒有備份,5:保留5個備份

dateext:使用當期日期作為輪轉日誌的字尾名

dateformat .

%s:配合dateext使用,緊跟在下一行出現,定義檔案切割後的檔名,只支援 %y %m %d %s 這四個引數

size(或minsize) log-size:當日誌檔案到達指定的大小時才輪轉,log-size能指定bytes(預設)及kb (sizek)或mb(sizem)

.當日誌檔案 >= log-size 的時候就輪轉

size = 5 或 size 5 (>= 5 個位元組就輪轉)

size = 100k 或 size 100k

size = 100m 或 size 100m

手動日誌輪轉

[root@localhost ~]

# logrotate -f /etc/logrotate.conf

修改配置檔案

[root@localhost ~]

# vi /etc/ssh/sshd_config

#指定rsyslog管理日誌的裝置載體為local1

syslogfacility local1

設定日誌管理

[root@localhost ~]

# vi /etc/rsyslog.conf

#設定ssh服務的所有級別日誌通過local1載體裝置儲存到本地資料夾中

local1.*/

var/log/ssh.log

配置日誌輪轉

[root@localhost ~]

# vi /etc/logrotate.d/ssh

/var

/log/ssh.log

配置日誌輪轉

[root@localhost ~]

# vi /etc/logrotate.d/mysqld

/var

/log/mysql/mysqld.log

配置日誌輪轉

/log/httpd/*log配置日誌輪轉

[root@localhost ~]

# vi /etc/logrotate.d/nginx

/usr/local/nginx/logs/access.log

/usr/local/nginx/logs/error.log

CentOS7基礎配置

預設centos7安裝將選擇最小安裝,完後是沒有任何配置的,需要手動配置需要的各種工具,同時dhcp也是出於關閉狀態,需要手動開啟。輸入命令vi etc sysconfig network scripts ifcfg eno16777736 type ethernet bootproto dhcp ...

CentOS 7 基礎配置

3 準備jdk和hadoop安裝包 centos7的靜態ip設定與以前版本的linux有細微的差別,這也是需要注意的地方。作者 為了配置 有效的靜態ip,嘗試了很多的方法。選擇虛擬機器的編輯選項 虛擬網路編輯器 管理員模式開啟 在上圖中已經標註出需要注意的地方,同時需要檢視nat設定 設定閘道器ip...

CentOS 7 配置網路

檢視ip位址 ip addr結果如下,可以看看網絡卡名稱 ens33 1 lo mtu 65536 qdisc noqueue state unknown qlen 1 link loopback 00 00 00 00 00 00 brd 00 00 00 00 00 00 inet 127.0....