1,syslog是啥?
2,syslog內的文件都是干啥用的?
syslog的日志文件都是存放在/var/log里的,
1),apport.log是系統崩潰記錄,
2),apt/,安裝卸載軟件的信息,其下history.log詳細記錄了什么時間誰裝了什么包,term.log記錄的是裝包的時候打印出來的具體安裝信息的
3),auth.log,登錄認證,我的電腦貌似只記錄root登錄,,當然了,普通用戶使用sudo命令也能給你記錄下來。
4),dpkg.log,使用dpkg安裝或者刪除軟件包留下的日志信息,當然了我瞅着使用apt命令的時候,dpkglog也是有記錄的,很可能是apt內部調用了dpkg
5),btmp,記錄錯誤的登錄嘗試;(自己電腦上嘗試打開,結果發現是空的,,)
6),lastlog,記錄每個用戶最後的登入信息。
7),gdm3,據說gdm3,kdm 和 lightdm 都是顯示管理器。 它們提供圖形化登錄並處理用戶身份驗證。我瞅着我的電腦里gdm3目錄下是啥也木有,但是gdm3這個東西確實安裝了,不信你自己看:dpkg --list|grep gdm3
8),kern.log,內核產生的信息,看了也沒看懂。
9),php-fpm7.2.log,這個大約是php-fpm自己的log信息。就一條,log file reopened。。。
10),apache2和mysql文件夾就不用說了,這倆各自屬於不同的app,但是有一點,apache2目錄不能刪除,刪除了以后apache2重新運行的時候就會報錯,說沒權限創建log文件,跑不起來。mysql和里面的error.log千萬別刪,刪了就跑不起來了,會告訴你各種錯。別問我為啥知道,,說多了都是淚。解決方案是,自己想辦法找個沒問題的error.log放進去。mysql運行的時候error.log是空的,但是mysql的service一旦停止,嘿嘿嘿,,多出來20多行,看起來是挨個把mysql相關的進程關了,,最后一行是,,Shutdown complete。。。
11),syslog,這個文件就比較厲害了ubuntu中使用rsyslog作為日志服務,不信你看ps -aux|grep rsyslog,配置文件在/etc/rsyslog.d/50-default.conf中,配置還挺復雜的,但是也蠻科學的,一般是,消息類型,嚴重等級和某個條件,輸出到哪里,目前本人未改動,詳情可以自己百度syslog配置詳情。順帶一說,如果有些記錄你想手動讓syslog記下來,那你這樣用:logger “hello world” 。如果是在腳本中,需要加參數,自己搜吧。
12),wtmp,記錄登錄者訊錄,二進制文件,須用last來讀取內容。然后就會發現里面寫着,wtmp begins at xx年月日。如何查看:last -f wtmp
13),installer,下面有倆文件,一個是dm一個是version,網上沒查到相關信息,預計和lightdm或者和顯示有關。
14),dist-upgrade文件夾,dist-upgrade是一個命令,當執行apt-get dist-upgrade時,除了擁有upgrade的全部功能外,dist-upgrade會比upgrade更智能地處理需要更新的軟件包的依賴關系。所以估計此處的文件夾就是記錄這個命令相關的log的,雖然我沒試過哈。文件夾里也沒什么東西
3,logrotate定時服務
logrotate 是一個 linux 系統日志的管理工具。可以對單個日志文件或者某個目錄下的文件按時間 / 大小進行切割,壓縮操作;指定日志保存數量;還可以在切割之后運行自定義命令。
logrotate 是基於 crontab 運行的,所以這個時間點是由 crontab 控制的,具體可以查詢 crontab 的配置文件 /etc/anacrontab。 系統會按照計划的頻率運行 logrotate,通常是每天。在大多數的 Linux 發行版本上,計划每天運行的腳本位於 /etc/cron.daily/logrotate。
總之logtotate是一個基於cron計時的一個很好的切割日志神器,據說它有個功能是,不耽誤系統寫出日志的情況下把日志給切割了。。也是蠻厲害的。
詳情可參考:花式誇logrotate 這個鏈接
配置詳情參考:花式配置logrotate
4,說在動手以前
系統的東西還是不容易改的,網上配置文件那么多,有的人會覺得隨便抄一個就可以了啊,但實際上真不是這樣,人家有人家的需求,我有我需求,要貼合自己的需求,那么首先你得很懂每項配置的具體含義才行。其次,懂了配置寫好了配置文件,也不是就萬事大吉了,你的測試啊。比如,什么樣的消息我改syslog的配置文件,直接讓它不生成,這樣我就省得刪了,什么樣的我寫道logrotate回滾中去,保存個2-3天就行了。本覺得寫得好好的,寫完了以后,其他app又跑不起來了,或者說shell命令寫錯了,或者沒權限,,這都是問題,建議各位,整明白了再改,改完了先測,測好了再用,用的時候注意觀察,不然系統級的東西,真是后患無窮。