chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux日志管理經(jīng)驗總結(jié)

馬哥Linux運維 ? 來源:博客園xiaoyaozhe ? 2024-10-24 17:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

日志管理目標

日志的管理,一般包括兩大部分

日志內(nèi)容,合理的日志內(nèi)容(日志錨點,內(nèi)容格式,等)可以為應(yīng)用服務(wù)的執(zhí)行記錄、問題排查提供最有力的幫助

日志存檔規(guī)則,包括日志分割方式(按日期、按文件大小,等),日志存檔數(shù)量,如只保存最近一個月,等

對于自行開發(fā)的應(yīng)用服務(wù),日志的管理可以由開發(fā)人員通過日志組件定制化,如logback,log4j等,但對于安裝部署的第三方組件如MySQL、nginx、redis等,以及開發(fā)引用的第三方組件如nacos,sentinel等,除非組件開放了豐富的日志配置參數(shù),否則將無法按照開發(fā)人員的要求管理日志文件。

特殊日志場景

一些特殊應(yīng)用服務(wù)或組件,如果沒有進行特定的配置操作,默認情況下將使日志文件不受控制,為后期清理造成麻煩,常見的有

nohup方式啟動應(yīng)用服務(wù),如果未配置日志重定向,或者重定向到了單文件,則系統(tǒng)將日志持續(xù)輸出在nohup.out文件或重定向的單文件

mysql數(shù)據(jù)庫支持配置日志文件路徑,但無法自動清理日志內(nèi)容

nginx支持配置日志內(nèi)容模板以及日志文件路徑(默認access.log、error.log),但無法自動清理日志內(nèi)容

以上類似情況下,日志將始終在單文件中持續(xù)輸出,過了一定時間后,日志文件將占用無限大的磁盤存儲,對整個系統(tǒng)造成運行故障。

特殊工具 - 定時清理

可以使用Linux自帶定時工具 crontab + 清理日志腳本的方式,實現(xiàn)定時清理,示例如下

crontab -e
# 定時清理日志,保留最近7天
1 0 * * * find /logs.dir/ -mtime +7 | xargs rm -rf

特別關(guān)注

Linux系統(tǒng)下,有些應(yīng)用服務(wù)組件如nginx與MySQL,運行過程中,對日志存儲文件將使用文件句柄跟蹤,如此會有以下問題:

將日志文件重命名,同時新建一個同名的文件,組件依然會向原來的文件中輸出日志

將日志文件刪除(rm -f),也需要同時將應(yīng)用服務(wù)組件進程重啟才行,否則刪除的文件也會由于被占用而無法釋放磁盤資源

刪除但被占用的文件將無法通過 ls -l 命令查看,也無法通過 du -sh 命令統(tǒng)計磁盤占用,但 df -h 命令會顯示真實磁盤占用,只能通過 lsof 命令,查看打開的文件描述符,對運維造成很大麻煩

針對這種情況

如果只是單次清理文件,可以使用清空文件的方式,如 echo > log.log,或其他清空的方式,但切記不能直接 rm -f 刪除

如果已經(jīng)執(zhí)行 rm -f 刪除,則可以使用 lsof | grep -i deleted 命令查看被刪除但無法回收的文件,然后將相應(yīng)的進程重啟即可回收

如果要保留日志內(nèi)容,又要控制存儲容量,則需要使用logrotate的 拷貝+清空 方式,即只是將日志文件內(nèi)容拷貝一份存檔,然后清空當前日志文件(而非刪除)

特殊工具 - logrotate

對于不方便進行自定義日志管理的應(yīng)用服務(wù)組件,可以自定義腳本維護,可以自行開發(fā)應(yīng)用軟件維護,但強聯(lián)推薦使用Linux系統(tǒng)集成的日志管理工具logrotate,該工具由Linux系統(tǒng)crontab定時調(diào)度,支持為相關(guān)日志文件(或其他文件)自定義存儲規(guī)則,但日志內(nèi)容只能按照應(yīng)用服務(wù)組件的實現(xiàn)輸出。

logrotate提供的功能參數(shù)很多,比較常用的如下

日志分割周期

日志文件擴展名

日志文件分割方式,包括新建+刪除,拷貝+清空,等,適用不同應(yīng)用服務(wù)場景

日志內(nèi)容壓縮

日志文件存檔數(shù)量

logrotate 命令格式:
logrotate [OPTION...] 
-d, --debug :debug模式,測試配置文件是否有錯誤。
-f, --force :強制轉(zhuǎn)儲文件。
-m, --mail=command :壓縮日志后,發(fā)送日志到指定郵箱。
-s, --state=statefile :使用指定的狀態(tài)文件。
-v, --verbose :顯示轉(zhuǎn)儲過程。


vi /etc/logrotate.d/nginx     #在/etc/logrotate.d/目錄下新建nginx文件,內(nèi)容如下:
/usr/share/nginx/log/*.log{
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    create 644 root root
    sharedscripts
    postrotate
        [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
    endscript
}




#調(diào)用方法
logrotate -d /etc/logrotate.d/nginx
#結(jié)合crontab定時執(zhí)行 
echo "0 0 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/nginx > /dev/null 2>&1" >> /var/spool/cron/root






#參數(shù)說明:
compress                                  通過gzip 壓縮轉(zhuǎn)儲以后的日志
nocompress                                不做gzip壓縮處理
copytruncate                              用于還在打開中的日志文件,把當前日志備份并截斷;是先拷貝再清空的方式,拷貝和清空之間有一個時間差,可能會丟失部分日志數(shù)據(jù)。
nocopytruncate                            備份日志文件不過不截斷
create mode owner group                   輪轉(zhuǎn)時指定創(chuàng)建新文件的屬性,如create 0777 nobody nobody
nocreate                                  不建立新的日志文件
delaycompress                             和compress 一起使用時,轉(zhuǎn)儲的日志文件到下一次轉(zhuǎn)儲時才壓縮
nodelaycompress                           覆蓋 delaycompress 選項,轉(zhuǎn)儲同時壓縮。
missingok                                 如果日志丟失,不報錯繼續(xù)滾動下一個日志
errors address                            專儲時的錯誤信息發(fā)送到指定的Email 地址
ifempty                                   即使日志文件為空文件也做輪轉(zhuǎn),這個是logrotate的缺省選項。
notifempty                                當日志文件為空時,不進行輪轉(zhuǎn)
mail address                              把轉(zhuǎn)儲的日志文件發(fā)送到指定的E-mail 地址
nomail                                    轉(zhuǎn)儲時不發(fā)送日志文件
olddir directory                          轉(zhuǎn)儲后的日志文件放入指定的目錄,必須和當前日志文件在同一個文件系統(tǒng)
noolddir                                  轉(zhuǎn)儲后的日志文件和當前日志文件放在同一個目錄下
sharedscripts                             運行postrotate腳本,作用是在所有日志都輪轉(zhuǎn)后統(tǒng)一執(zhí)行一次腳本。如果沒有配置這個,那么每個日志輪轉(zhuǎn)后都會執(zhí)行一次腳本
prerotate                                 在logrotate轉(zhuǎn)儲之前需要執(zhí)行的指令,例如修改文件的屬性等動作;必須獨立成行
postrotate                                在logrotate轉(zhuǎn)儲之后需要執(zhí)行的指令,例如重新啟動 (kill -HUP) 某個服務(wù)!必須獨立成行
daily                                     指定轉(zhuǎn)儲周期為每天
weekly                                    指定轉(zhuǎn)儲周期為每周
monthly                                   指定轉(zhuǎn)儲周期為每月
rotate count                              指定日志文件刪除之前轉(zhuǎn)儲的次數(shù),0 指沒有備份,5 指保留5 個備份
dateext                                   使用當期日期作為命名格式
dateformat .%s                            配合dateext使用,緊跟在下一行出現(xiàn),定義文件切割后的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個參數(shù)
size(或minsize) log-size                  當日志文件到達指定的大小時才轉(zhuǎn)儲,log-size能指定bytes(缺省)及KB (sizek)或MB(sizem).


#當日志文件 >= log-size 的時候就轉(zhuǎn)儲。以下為合法格式:(其他格式的單位大小寫沒有試過)
size = 5 或 size 5 (>= 5 個字節(jié)就轉(zhuǎn)儲)
size = 100k 或 size 100k
size = 100M 或 size 100M

附錄:logrotate簡易配置


MySQL
/data/mysql/log/mysqld.log
{
    daily
    dateext
    dateyesterday
    copytruncate
    notifempty
    missingok
    olddir backup
    rotate 60
        compress
}


nginx
/usr/local/nginx/logs/access.log
/usr/local/nginx/logs/error.log
{
    daily
    dateext
    dateyesterday
    copytruncate
    notifempty
    missingok
    olddir backup
    rotate 30
        compress
}

附錄:關(guān)于常用組件運行時日志管理

nginx不支持自動清理,默認單文件持續(xù)寫入,且不會自動滾動

mysql不支持自動清理,默認單文件持續(xù)寫入,且不會自動滾動

zookeeper默認支持自動清理(限制文件大小和個數(shù)),log4j配置文件維護

redis不支持自動清理,只記錄少量核心日志,單文件持續(xù)寫入,但默認只記錄少量核心日志,可以不處理

kafka的數(shù)據(jù)記錄日志(topic、offset等),支持自動清理,配置文件維護

kafka操作日志,默認在安裝目錄logs目錄,支持自動滾動,但不會自動清理,log4j配置文件維護

鏈接:https://www.cnblogs.com/xiaoyaozhe/p/17671275.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11574

    瀏覽量

    216571
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    586

    瀏覽量

    25789
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    889

    瀏覽量

    28855
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    145

    瀏覽量

    10995

原文標題:Linux日志管理經(jīng)驗總結(jié)(crontab+logrotate)

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Altera SOPC專題競賽-經(jīng)驗總結(jié)

    Altera SOPC專題競賽-經(jīng)驗總結(jié)Altera SOPC專題競賽-經(jīng)驗總結(jié).docx
    發(fā)表于 08-10 18:19

    電源制作高手經(jīng)驗總結(jié)

    電源制作高手經(jīng)驗總結(jié)電源制作高手經(jīng)驗總結(jié) 28頁.pdf (2.9 MB )
    發(fā)表于 06-05 02:05

    SOPC Builder/Nios 學習經(jīng)驗總結(jié)

    SOPC Builder/Nios 學習經(jīng)驗總結(jié)
    發(fā)表于 07-22 15:32 ?0次下載
    SOPC Builder/Nios 學習<b class='flag-5'>經(jīng)驗總結(jié)</b>

    線圈天線設(shè)計經(jīng)驗總結(jié)

    線圈天線設(shè)計經(jīng)驗總結(jié)
    發(fā)表于 09-12 17:21 ?224次下載

    做四軸飛行器的經(jīng)驗總結(jié)

    做四軸飛行器的經(jīng)驗總結(jié),請各位大神共同學習,里面是一位大神做四軸飛行器的經(jīng)驗總結(jié)
    發(fā)表于 11-11 16:52 ?0次下載

    電池管理經(jīng)驗之談

    電池管理經(jīng)驗之談,有需要的下來看看
    發(fā)表于 08-24 16:30 ?40次下載

    開關(guān)電源測量的經(jīng)驗總結(jié)

    開關(guān)電源測量的經(jīng)驗總結(jié),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 17:34 ?0次下載

    模擬電路設(shè)計經(jīng)驗總結(jié)

    模擬電子的相關(guān)知識學習教材資料——模擬電路設(shè)計經(jīng)驗總結(jié)
    發(fā)表于 09-27 15:19 ?0次下載

    指針經(jīng)驗總結(jié)

    指針經(jīng)驗總結(jié)
    發(fā)表于 10-27 15:44 ?19次下載
    指針<b class='flag-5'>經(jīng)驗總結(jié)</b>

    TD-LTE網(wǎng)絡(luò)優(yōu)化經(jīng)驗總結(jié)解析

    TD-LTE網(wǎng)絡(luò)優(yōu)化經(jīng)驗總結(jié)解析說明。
    發(fā)表于 04-27 10:30 ?23次下載

    電路設(shè)計的一些經(jīng)驗總結(jié)

    電路設(shè)計的一些經(jīng)驗總結(jié)
    發(fā)表于 12-02 13:57 ?45次下載

    EMI整改經(jīng)驗總結(jié)

    EMI整改經(jīng)驗總結(jié)
    發(fā)表于 12-20 15:55 ?46次下載

    富士變頻器維修經(jīng)驗總結(jié)

    富士變頻器維修經(jīng)驗總結(jié)
    發(fā)表于 10-07 10:55 ?0次下載

    選擇燒結(jié)銀的經(jīng)驗總結(jié)

    選擇燒結(jié)銀的經(jīng)驗總結(jié)
    的頭像 發(fā)表于 12-17 15:46 ?1971次閱讀
    選擇燒結(jié)銀的<b class='flag-5'>經(jīng)驗總結(jié)</b>

    GaN E-HEMTs的PCB布局經(jīng)驗總結(jié)

    GaN E-HEMTs的PCB布局經(jīng)驗總結(jié)
    的頭像 發(fā)表于 03-13 15:52 ?851次閱讀
    GaN E-HEMTs的PCB布局<b class='flag-5'>經(jīng)驗總結(jié)</b>