linux 13-2day 日志輪轉 日志目錄 輪轉參數

目錄

  • 日志系統rsyslog
  • 一、處理日志的進程
  • 二、常見的日志文件(系統、進程、應用程序)
    • 日志優先級
  • 三、logrotate日志輪轉
    • 1、配置日志輪轉的路徑
    • 2、日志配置路徑
    • 四 、案例

日志系統rsyslog

Linux 系統內核和許多程序會產生各種錯誤信息、告警信息和其他的提示信息,

這些各種信息都應該記錄到日志文件中,完成這個過程的程序就是 rsyslog,rsyslog

可以根據日志的類別和優先級將日志保存到不同的文件中。

日志對于運維工程師的作用:用于排查錯誤 ,用于排查被攻擊的風險


日志管理基礎
rsyslog 日志管理
logrotate日志輪轉

一、處理日志的進程

ps aux |grep rsyslogd

二、常見的日志文件(系統、進程、應用程序)

tail -f /var/log/messages		        	#動態查看日志文件的尾部,系統主日志文件tail -f /var/log/secure		            	#記錄認證、安全的日志(誰登錄了我們的系統)tail /var/log/maillog			            #跟郵件postfix相關tail /var/log/cron			                #crond、at進程產生的日志 (計劃任務相關的)tail /var/log/dmesg			              	#和系統啟動相關 tail /var/log/yum.log                       #yum的日志tail -f /var/log/mysqld.log                 #MySQL日志tail /var/log/xferlog                  		#和訪問FTP服務器相關tail /var/log/boot.log                      #系統啟動過程日志記錄存放w					   						#當前登錄的用戶 /var/log/wtmplast				   						#最近登錄的用戶 /var/log/btmplastlog                                      #最近登錄的用戶 /var/log/btmp
第一列,用戶名;
第二列,終端位置,/pts/0 (偽終端)意味著從諸如ssh或者telnet的遠程鏈接的用戶,
tty(teletypewriter)意味著直接連接到計算機或者本地鏈接的用戶;
第三列,登錄的ip或者內核。
第四列,開始時間;
第五列,結束時間(still login in 還未退出 down 直到正常關機 crash 直到強制關機)[root@linux-server ~]#lastlog			   #所有用戶的登錄情況 /var/log/lastlog
rsyslog

日志優先級

日志級別分為:7種日志級別代號0-70 debug             #有調試信息的,日志信息最多1 info              #一般信息的日志,最常用2 notice            #最具有重要性的普通條件的信息3 warning           #警告級別4 err               #錯誤級別,阻止某個功能或者模塊不能正常工作的信息5 crit              #嚴重級別,阻止整個系統或者整個軟件不能工作的信息6 alert             #需要立刻修改的信息7 emerg             #內核崩潰等嚴重信息none                #什么都不記錄

三、logrotate日志輪轉

因為日志的數量巨大,日志程序會把日志切割成多分,把舊的刪除
這樣處理,對于磁盤儲存,大文件的讀寫,都更為合理

1、配置日志輪轉的路徑

/etc/logrotate.conf

2、日志配置路徑

配置日志輪轉
[root@linux-server ~]# vim /etc/logrotate.conf	/var/log/qianfeng{
#daily weekly monthly yearly
prerotate								# 輪轉之前執行中間的命令chattr -a /var/log/qianfeng 	# 用于
endscript								# 表達式解決 開始進行輪轉 missingok			              	#丟失不提示    daily              安天輪轉dateext            使用日期作為后綴 weekly     	#輪轉的周期,一周輪轉,單位有年,月,日 #daily(天) weekly(周) monthly(月) yearly(年)compress  			delaycompress      轉儲的日志 在下一次轉儲的時候壓縮rotate  5          轉儲了五份missingok          丟失不通知size   50M         達到五十兆 就輪轉notifempty         空文件不輪轉postrotate								# 輪轉結束 再其實 這個文件里的權限chattr +a /var/log/qianfeng
endscript									# 表達式結束
}

四 、案例

手動輪轉

/usr/sbin/logrotate /etc/logrotate.conf
/usr/sbin/logrotate 為輪轉命令
/etc/logrotate.conf  輪轉文件
logrotate -f /etc/logrotate.conf  # -f 是強制輪轉
# 指定日志的位置
/var/log/newbee{
# 在日志輪轉前要做的事
prerotate# 取消隱藏權限achattr -a /var/log/newbee
# 結束腳本
endscript
# weekly daily monthly yearly
# 以日期為后綴
dateext
# 輪轉周期為 1天
daily
# 保留5份日志
rotate 5
# 設置屬主屬組 權限
create 0644 root root
# 設置壓縮
compress
# 輪轉之后要做的事情
postrotate# 再次添加a權限 (注意制表符)chattr +a /var/log/newbee
# 結束腳本
endscript
}例1:輪轉文件/var/log/yum.log[root@linux-server ~]# vim /etc/logrotate.d/yum	   
/var/log/yum.log {missingok                                #丟失不提醒#notifempty                              #空文件不輪轉 #size 30k									#只要到了30k就輪轉#yearlydaily                                     #每天輪轉一次   rotate 3      create 0644 root root 
}測試:
[root@linux-server ~]# /usr/sbin/logrotate /etc/logrotate.conf	  #手動輪轉
[root@linux-server ~]# ls /var/log/yum*
/var/log/yum.log  /var/log/yum.log-20191110[root@linux-server ~]# grep yum /var/lib/logrotate/logrotate.status #查看記錄所有日志文件最近輪轉的時間
"/var/log/yum.log" 2019-11-10-21:26:142:日志安全,操作日志的隱藏權限
[root@localhost log]# cd /etc/logrotate.d/
[root@localhost logrotate.d]# vim syslog
建議測試時先把/etc/logrotate.d/syslog中messages刪除,然后在下面添加如下:
/var/log/messages{prerotatechattr -a /var/log/messagesendscript#notifemptydailycreate 0600 root rootmissingokrotate 3postrotatechattr +a /var/log/messagesendscript
}/usr/sbin/logrotate /etc/logrotate.conf  #手動輪轉cd /var/log/
ls mess*
messages  messages-20200805  messages-20200806參數解釋:
prerotate/endscript - 在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
postrotate/endscript - 在轉儲以后需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行size
觸發分割的條件是:1.日志大小達到這個值,和時間周期沒有關系。
minsize
觸發分割的條件是:1.時間周期到了,2.日志大小達到這個值;兩個條件都要滿足。
maxsize
觸發分割的條件是:1.時間周期到了,2. 日志大小大于這個值;兩個條件任何一個滿足。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214834.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214834.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214834.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【go語言實踐】基礎篇 - 流程控制

if語句 go里面if不需要括號將條件表達式包含起來,這與python也有點類似 if 條件表達式 { } if num > 18 {// ... } else if num > 20 {// ... } else {// ... }需要注意的是go支持在if的條件表達式中直接定義一個變量,變量的作用域只在if范圍內…

【網絡安全】CTF入門教程(非常詳細)從零基礎入門到進階,看這一篇就夠了!

一、CTF簡介 CTF(Capture The Flag)中文一般譯作奪旗賽,在網絡安全領域中指的是網絡安全技術人員之間進行技術競技的一種比賽形式。CTF起源于1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發起真實攻擊進行技術比拼的方式。…

計算機丟失msvcp140dll怎么恢復?快速解決dll缺失問題

在計算機使用過程中,我們經常會遇到一些錯誤提示,其中之一就是“msvcp140dll丟失”。msvcp140.dll是一個動態鏈接庫文件,它包含了許多C標準庫函數的實現。這些動態鏈接庫文件是程序運行所必需的,它們包含了許多函數和資源&#xf…

圣誕新奇驚喜:利用 AI 技術幫助圣誕老人創建手寫信件

人工智能甚至正在接管北極的任務。在即將到來的圣誕節假期之前,圣誕老人和他的助手們迎來了一項革命性的技術支持。一群樂于助人的精靈采用了人工智能技術,制作出獨一無二、看似親手書寫的信件,以確保遵守圣誕老人的「北極標準」。 這些信件通…

C語言實現選擇排序

完整代碼&#xff1a; #include<stdio.h>//交換函數&#xff0c;交換兩個數 void swap(int *a,int *b){int temp;temp*a;*a*b;*btemp; }//選擇排序&#xff0c;從小到大 //參數&#xff1a;arr[]表示待排序數組&#xff0c;len表示該數組長度 void select_sort(int arr[…

愛智EdgerOS之深入解析安全可靠的開放協議SDDC

一、協議簡介 在 EdgerOS 的智慧生態場景中&#xff0c;許多智能設備或傳感器的生命周期都與 SDDC 協議息息相關&#xff0c;這些設備可能是使用 libsddc 智能配網技術開發的&#xff0c;也有可能是因為主要功能上是使用其他技術如 MQTT、LoRa 等但是設備的上下線依然是使用上…

圖的遍歷(深度優先遍歷 + 廣度優先遍歷)

目錄 &#x1f33c;廣度優先遍歷 &#xff08;1&#xff09;鄰接矩陣BFS &#xff08;2&#xff09;鄰接表BFS &#xff08;3&#xff09;非連通圖BFS &#xff08;4&#xff09;復雜度分析 &#x1f33c;深度優先遍歷 &#xff08;1&#xff09;鄰接矩陣的DFS &#x…

Caching the Application Engine Server 緩存應用程序引擎服務器

Caching the Application Engine Server 緩存應用程序引擎服務器 Application Engine caches metadata just like the application server. This caching enhances performance because a program can refer to the local cache for any objects that it uses. 應用程序引擎…

科技云報道:從數據到生成式AI,是該重新思考風險的時候了

科技云報道原創。 OpenAI“宮斗”大戲即將塵埃落定。 自首席執行官Sam Altman突然被董事會宣布遭解雇、董事長兼總裁Greg Brockman辭職&#xff1b;緊接著OpenAI員工以辭職威脅董事會要求Altman回歸&#xff1b;再到OpenAI董事會更換成員、Altman回歸OpenAI。 表面上看&…

深入解析Java中的String:特點、重要方法及源碼分析

Java的String類是Java語言中最常用的類之一。 作為一位Java高級工程師&#xff0c;了解String類的特性和方法對于編寫高效和優化的Java代碼至關重要。在這篇技術博客中&#xff0c;我們將深入探討String類的特點&#xff0c;介紹其中一些重要的方法&#xff0c;并分析其源碼以獲…

java--LocalDate、LocalTime、LocalDateTime、ZoneId、Instant

1.為什么要學習JDK8新增的時間 LocalDate&#xff1a;代表本地日期(年、月、日、星期) LocalTime&#xff1a;代表本地時間(時、分、秒、納秒) LocalDateTime&#xff1a;代表本地日期、時間(年、月、日、星期、時、分、秒、納秒) 它們獲取對象的方案 2.LocalDate的常用API(…

Android的開機logo生成

生成可用的uboot和kernel的logo圖片 可以通過命令轉換BMP格式的圖片 ### 將 png 轉為顏色深度為8bit的的bmp圖片。jpeg使用jpegtopnm ### pngtopnm logo.png | ppmquant 31 | ppmtobmp -bpp 8 > logo.bmp然后就可以使用新圖替換舊圖片&#xff0c;在kernel目錄下的logo.bmp…

【精選】 VulnHub (超詳細解題過程)

&#x1f36c; 博主介紹&#x1f468;?&#x1f393; 博主介紹&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高興認識大家~ ?主攻領域&#xff1a;【滲透領域】【應急響應】 【python】 【VulnHub靶場復現】【面試分析】 &#x1f389;點贊?評論?收藏…

C# 任務的異常和延續處理

寫在前面 當Task在執行過程中出現異常或被取消等例外的情況時&#xff0c;為了讓執行流程能夠繼續進行&#xff0c;可以使用延續方法實現這種鏈式處理&#xff1b;還可以針對前置任務不同的執行結果&#xff0c;選擇執行不同的延續分支方法。子任務執行過程中的任何異常都會被…

線程安全的哈希表ConcurrentHashMap

1. HashTable 不推薦使用&#xff0c;無腦給各種方法加鎖 2.ConcurrentHashMap 多線程下推薦使用 鎖粒度控制 HashTable直接在方法上加synchronized&#xff0c;相當于對哈希表對象加鎖&#xff0c;一個哈希表只有一把鎖。多線程環境下&#xff0c;無論線程如何操作哈希表…

深入理解Dubbo-3.高級功能剖析和原理解析

&#x1f44f;作者簡介&#xff1a;大家好&#xff0c;我是愛吃芝士的土豆倪&#xff0c;24屆校招生Java選手&#xff0c;很高興認識大家&#x1f4d5;系列專欄&#xff1a;Spring源碼、JUC源碼、Kafka原理、分布式技術原理&#x1f525;如果感覺博主的文章還不錯的話&#xff…

利用貝葉斯超參數優化,提升模型效果更科學(附Python代碼)

超參數優化在大多數機器學習流水線中已成為必不可少的一步&#xff0c;而貝葉斯優化則是最為廣為人知的一種“學習”超參數優化方法。 超參數優化的任務旨在幫助選擇學習算法中成本&#xff08;或目標&#xff09;函數的一組最佳參數。這些參數可以是數據驅動的&#xff08;例…

【UE5】初識MetaHuman 創建虛擬角色

步驟 在UE5工程中啟用“Quixel Bridge”插件 打開“Quixel Bridge” 點擊“MetaHumans-》MetaHuman Presets UE5” 點擊“START MHC” 在彈出的網頁中選擇一個虛幻引擎版本&#xff0c;然后點擊“啟動 MetaHuman Creator” 等待一段時間后&#xff0c;在如下頁面點擊選擇一個人…

Apipost版IDEA插件:Apipost-Helper

Apipost-Helper是由Apipost推出的IDEA插件&#xff0c;寫完接口可以進行快速調試&#xff0c;且支持搜索接口、根據method跳轉接口&#xff0c;還支持生成標準的API文檔&#xff0c;注意&#xff1a;這些操作都可以在代碼編輯器內獨立完成&#xff0c;非常好用&#xff01;這里…

Tair(2):Tair安裝部署

1 安裝相關依賴庫 yum install -y gcc gcc-c make m4 libtool boost-devel zlib-devel openssl-devel libcurl-devel yum&#xff1a;是yellowdog updater modified 的縮寫&#xff0c;Linux中的包管理工具gcc&#xff1a;一開始稱為GNU C Compiler&#xff0c;也就是一個C編…