最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux自帶的logrotate管理日志用法

 更新時(shí)間:2024年10月14日 11:02:03   作者:it-wangxiaobai  
Linux系統(tǒng)中,logrotate工具用于管理和輪轉(zhuǎn)日志文件,防止系統(tǒng)因日志文件過(guò)大導(dǎo)致磁盤(pán)爆滿(mǎn),通過(guò)配置/etc/logrotate.conf和/etc/logrotate.d/下的文件,用戶(hù)可以定義日志處理規(guī)則,如壓縮、備份

利用Linux自帶的logrotate管理日志

日常運(yùn)維中,經(jīng)常要對(duì)各類(lèi)日志進(jìn)行管理,清理,監(jiān)控,尤其是因?yàn)閼?yīng)用bug,在1小時(shí)內(nèi)就能寫(xiě)幾十個(gè)G日志,導(dǎo)致磁盤(pán)爆滿(mǎn),系統(tǒng)掛掉。

nohup.out,access.log,catalina.out

本文簡(jiǎn)單介紹利用Linux自帶的logrotate來(lái)對(duì)操作系統(tǒng)中各類(lèi)日志進(jìn)行管理

1. logrotate簡(jiǎn)介

為了使用它,主要有兩個(gè)地方需要修改一下:一個(gè)是/etc/logrotate.conf,另一個(gè)是/etc/logrotate.d/下面的文件。

你既可以在logrotate.conf中直接定義如何處理你的log文件,也可以在/logrotate.d/下面針對(duì)自己的log新建一個(gè)對(duì)應(yīng)的文件來(lái)定義處理log的行為。

推薦在目錄 /logrotate.d/ 下面創(chuàng)建自己的文件來(lái)對(duì)個(gè)性化的日志進(jìn)行處理。

logrotate定義了如何處理日志,而它本身則是被crond定時(shí)調(diào)用的。

我使用的一個(gè)生產(chǎn)實(shí)例:

/usr/local/nginx/logs/*.log {
    create 0644 root root
    daily
    rotate 2
    missingok
    copytruncate
    ifempty
    compress
    noolddir
}

上述內(nèi)容保存到nginxlog文件,存放到目錄:/etc/logrotate.d/nginxlog

設(shè)置權(quán)限:

owner=root group=root mode=0644

測(cè)試配置是否正確:

lograte -d /etc/logrotate.d/nginxlog

執(zhí)行配置

lograte -f /etc/logrotate.d/nginxlog

2. logrotate配置參數(shù)

logrotate 全局配置文件: /etc/logrotate.conf

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

說(shuō)明:

當(dāng)日志文件 >= log-size 的時(shí)候就轉(zhuǎn)儲(chǔ)。

以下為合法格式:(其他格式的單位大小寫(xiě)沒(méi)有試過(guò))

  • size = 5 或 size 5 (>= 5 個(gè)字節(jié)就轉(zhuǎn)儲(chǔ))
  • size = 100k 或 size 100k
  • size = 100M 或 size 100M

實(shí)例:

/home/deploy/apps/production.log {
missingok
copytruncate
rotate 10
notifempty
sharedscripts
dateext
dateformat -%Y-%m-%d-%s
size=10M
postrotatemv /home/deploy/apps/production.log-* /data1/log/railsgzip /data1/log/rails/production.log-*
endscript
}

問(wèn)題:rotate和maxage的區(qū)別是什么?

它們都是用來(lái)控制保存多少日志文件的,區(qū)別在于 rotate 是以個(gè)數(shù)為單位的,而 maxage 是以天數(shù)為單位的。如果我們是以按天來(lái)輪轉(zhuǎn)日志,那么二者的差別就不大了。

3. nginx日志切割實(shí)例

vim /etc/logrotate.d/nginx   #創(chuàng)建nginx日志切割配置文件
/application/nginx/logs/*.log{
daily
rotate 10
create
dateext
}

logrotate -d /etc/logrotate.d/nginx    調(diào)試測(cè)試   -d debug
logrotate -d /etc/logrotate.d/nginx    手動(dòng)切割日志測(cè)試

ls /application/nginx/logs/           帶日期的表示是切割好的日志
access.log           bbs.log-20180228   error.log           www.log
access.log-20180228  blog.log           error.log-20180228  www.log-20180228
bbs.log              blog.log-20180228  nginx.pid

配置好nginx切割日志生效時(shí)間

# cat /etc/anacrontab    #此文件里有生效時(shí)間
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.
 
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45

# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22   #生效時(shí)間范圍是3點(diǎn)到22點(diǎn)

#period in days   delay in minutes   job-identifier   command1       5       cron.daily              nice run-parts /etc/cron.daily7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly

也就是說(shuō),配好的nginx切割日志,生效時(shí)間是在凌晨3點(diǎn)到22點(diǎn)之間,而且隨機(jī)延遲時(shí)間是45分鐘

4. 其他配置示例

/var/log/htmlaccess.log {
 errors jim
 notifempty
 nocompress
 weekly
 prerotate
 /usr/bin/chattr -a /var/log/htmlaccess.log
 endscript
 
 postrotate
 /usr/bin/chattr +a /var/log/htmlaccess.log
 endscript
}

持續(xù)集成系統(tǒng)日志處理配置

/var/log/jenkins/jenkins.log /var/log/jenkins/access_log {
    compress
    dateext
    maxage 365      #保留最大365天
    rotate 99       #最大保留99個(gè)備份
    size=+4096k
    notifempty
    missingok
    create 644
    copytruncate
}

自定義日志處理

/medialog/*.log {
    create 0644 root root
    daily
    rotate 30
    missingok
    copytruncate
    notifempty
    compress
    delaycompress
    olddir /medialog/backlog    # 將歸檔日志單獨(dú)目錄存儲(chǔ)
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 網(wǎng)站加速VPS篇 memcache和memcached安裝方法

    網(wǎng)站加速VPS篇 memcache和memcached安裝方法

    Memcache是一個(gè)自由和開(kāi)放源代碼、高性能、分配的內(nèi)存對(duì)象緩存系統(tǒng)。用于加速動(dòng)態(tài)web應(yīng)用程序,減輕數(shù)據(jù)庫(kù)負(fù)載。
    2010-12-12
  • 解決Debian系統(tǒng)自動(dòng)更新軟件包的問(wèn)題的方法

    解決Debian系統(tǒng)自動(dòng)更新軟件包的問(wèn)題的方法

    這篇文章主要介紹了解決Debian系統(tǒng)自動(dòng)更新軟件包的問(wèn)題的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • linux中pip操作時(shí)的超時(shí)解決方法

    linux中pip操作時(shí)的超時(shí)解決方法

    在本文中我們給大家講述了linux中pip操作時(shí)的超時(shí)解決方法以及相關(guān)注意點(diǎn),有興趣的朋友們參考下。
    2018-09-09
  • linux禁止ping的實(shí)現(xiàn)實(shí)例

    linux禁止ping的實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了linux禁止ping的實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • hadoop基于Linux7的安裝配置圖文詳解

    hadoop基于Linux7的安裝配置圖文詳解

    這篇文章主要介紹了hadoop基于Linux7的安裝配置,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • linux tar壓縮排除某個(gè)文件夾的方法

    linux tar壓縮排除某個(gè)文件夾的方法

    下面小編就為大家?guī)?lái)一篇linux tar壓縮排除某個(gè)文件夾的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Linux之iptables命令用法解讀

    Linux之iptables命令用法解讀

    文章概述了Linux下的netfilter框架與iptables工具,二者協(xié)同實(shí)現(xiàn)包過(guò)濾防火墻,詳解四表五鏈結(jié)構(gòu)、規(guī)則配置命令及常用場(chǎng)景,強(qiáng)調(diào)規(guī)則順序、匹配條件、方向性考慮和默認(rèn)策略設(shè)置(如白名單采用ACCEPT而非DROP)的重要性
    2025-09-09
  • Linux Apache+Proftpd構(gòu)建虛擬主機(jī)時(shí)要注意的幾個(gè)安全問(wèn)題

    Linux Apache+Proftpd構(gòu)建虛擬主機(jī)時(shí)要注意的幾個(gè)安全問(wèn)題

    Linux下Apache+Proftpd構(gòu)建虛擬主機(jī)時(shí)要注意的幾個(gè)安全問(wèn)題,大家可以參考下,有其它未完整的地方,大家可以補(bǔ)充下。
    2009-08-08
  • Linux學(xué)習(xí)第三篇 Centos7安裝mysql5.7.16數(shù)據(jù)庫(kù)

    Linux學(xué)習(xí)第三篇 Centos7安裝mysql5.7.16數(shù)據(jù)庫(kù)

    這篇文章主要為大家詳細(xì)介紹了Linux學(xué)習(xí)第三篇,Centos7安裝mysql5.7.16數(shù)據(jù)庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 一步步教你如何編寫(xiě)Shell腳本

    一步步教你如何編寫(xiě)Shell腳本

    這篇文章主要介紹了關(guān)于如何編寫(xiě)Shell腳本的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04

最新評(píng)論

调兵山市| 中卫市| 永平县| 东乌珠穆沁旗| 织金县| 沙洋县| 兰坪| 石狮市| 饶阳县| 伊川县| 鹤庆县| 通海县| 平山县| 肇东市| 章丘市| 江西省| 屏山县| 彰化县| 民勤县| 峨山| 德阳市| 江口县| 东兰县| 黄冈市| 孙吴县| 丹巴县| 阿拉善右旗| 屯留县| 苍溪县| 兴山县| 旬邑县| 汝州市| 郁南县| 托克逊县| 祥云县| 丰台区| 甘泉县| 交城县| 蕲春县| 昌宁县| 都兰县|