溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux日志文件管家logrotate怎么用

發(fā)布時(shí)間:2022-02-19 11:57:01 來源:億速云 閱讀:193 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Linux日志文件管家logrotate怎么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

logrotate是個(gè)十分有用的工具,它可以自動(dòng)對日志進(jìn)行截?cái)啵ɑ蜉喲?、壓縮以及刪除舊的日志文件。例如,你可以設(shè)置logrotate,讓/var/log/foo日志文件每30天輪循,并刪除超過6個(gè)月的日志。配置完后,logrotate的運(yùn)作完全自動(dòng)化,不必進(jìn)行任何進(jìn)一步的人為干預(yù)。

Linux日志文件管家logrotate怎么用

logrotate 是如何工作的

默認(rèn)情況下,logrotate 命令作為放在 /etc/cron.daily 中的 cron 任務(wù),每天運(yùn)行一次,它會(huì)幫助你設(shè)置一個(gè)策略,其中超過某個(gè)時(shí)間或大小的日志文件被輪換。 命令:

/usr/sbin/logrotate

配置文件: /etc/logrotate.conf,這是 logrotate 的主配置文件。logrotate 還在 /etc/logrotate.d/ 中存儲(chǔ)了特定服務(wù)的配置。確保下面的那行包含在 /etc/logrotate.conf 中,以讀取特定服務(wù)日志配置。

include  /etc/logrotate.d`

logrotate 歷史: /var/lib/logrotate.status

重要的 logrotate 選項(xiàng):

compress             --> 壓縮日志文件的所有非當(dāng)前版本
daily,weekly,monthly --> 按指定計(jì)劃輪換日志文件
delaycompress        --> 壓縮所有版本,除了當(dāng)前和下一個(gè)最近的
endscript            --> 標(biāo)記 prerotate 或 postrotate 腳本的結(jié)束
errors "emailid"     --> 給指定郵箱發(fā)送錯(cuò)誤通知
missingok            --> 如果日志文件丟失,不要顯示錯(cuò)誤
notifempty           --> 如果日志文件為空,則不輪換日志文件
olddir "dir"         --> 指定日志文件的舊版本放在 “dir” 中
postrotate           --> 引入一個(gè)在日志被輪換后執(zhí)行的腳本
prerotate            --> 引入一個(gè)在日志被輪換前執(zhí)行的腳本
rotate 'n'           --> 在輪換方案中包含日志的 n 個(gè)版本
sharedscripts        --> 對于整個(gè)日志組只運(yùn)行一次腳本
size='logsize'       --> 在日志大小大于 logsize(例如 100K,4M)時(shí)輪換

配置

讓我們?yōu)槲覀冏约旱氖纠罩疚募?/tmp/sample_output.log 配置 logrotate。

第一步:在 /etc/logrotate.conf 中添加以下行。

/tmp/sample_output.log {
 size 1k
 create 700 root root
 rotate 4
 compress
}

在上面的配置文件中:

size 1k - logrotate 僅在文件大小等于(或大于)此大小時(shí)運(yùn)行。
create - 輪換原始文件并創(chuàng)建具有指定權(quán)限、用戶和組的新文件。
rotate - 限制日志文件輪轉(zhuǎn)的數(shù)量。因此,這將只保留最近的 4 個(gè)輪轉(zhuǎn)的日志文件。
compress - 這將壓縮文件。

第二步:通常,你需要等待一天才能等到 logrotate 由 /etc/cron.daily 執(zhí)行。除此之外,你可以用下面的命令在命令行中運(yùn)行:

/usr/sbin/logrotate  /etc/logrotate.conf

在執(zhí)行 logrotate 命令之前的輸出:

[root@rhel1 tmp]# ls -l /tmp/total 28
-rw-------. 1 root root 20000 Jan 1 05:23 sample_output.log

在執(zhí)行 logrotate 之后的輸出:

[root@rhel1 tmp]# ls -l /tmptotal 12
-rwx------. 1 root root 0 Jan 1 05:24 sample_output.log
-rw-------. 1 root root 599 Jan 1 05:24 sample_output.log-20170101.gz
[root@rhel1 tmp]#

這樣就能確認(rèn) logrotate 成功實(shí)現(xiàn)了。

感謝各位的閱讀!關(guān)于“Linux日志文件管家logrotate怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI