定期刪除OpenResty/Nginx大日志文件的方法
1. 安裝 logrotate 工具
首先,確保系統(tǒng)上已經(jīng)安裝了 logrotate
。在大多數(shù) Linux 發(fā)行版上,可以使用包管理器來(lái)安裝:
sudo apt-get install logrotate # 對(duì)于 Debian/Ubuntu sudo yum install logrotate # 對(duì)于 CentOS/RHEL
2. 配置 logrotate
創(chuàng)建或編輯 logrotate
配置文件。例如,我們可以為 Nginx 日志創(chuàng)建一個(gè)自定義的 logrotate
配置文件 /etc/logrotate.d/nginx
:
/var/log/nginx/access.log /var/log/nginx/error.log { daily rotate 14 compress delaycompress missingok notifempty create 0640 www-data adm sharedscripts postrotate [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript }
這個(gè)配置文件的解釋如下:
/var/log/nginx/access.log /var/log/nginx/error.log
:指定要輪換的日志文件(可以包括多個(gè)文件)。daily
:每天輪換日志文件。rotate 14
:保留 14 天的日志文件。compress
:壓縮舊的日志文件。delaycompress
:延遲一個(gè)輪換周期再壓縮上一個(gè)輪換的日志文件。missingok
:如果日志文件不存在,不會(huì)報(bào)錯(cuò)。notifempty
:如果日志文件為空,不會(huì)輪換。create 0640 www-data adm
:創(chuàng)建新的日志文件,并設(shè)置權(quán)限和所有者。sharedscripts
:確保postrotate
腳本只運(yùn)行一次,而不是為每個(gè)被處理的日志文件運(yùn)行一次。postrotate
:在日志文件輪換后運(yùn)行的腳本,kill -USR1
命令通知 Nginx 重新打開(kāi)日志文件。
markdown 復(fù)制代碼 # 定期刪除 OpenResty/Nginx 大日志文件的方法 如果你的日志文件是一個(gè)大的單一日志文件,而不是多個(gè)文件的形式,你可以使用 `logrotate` 工具來(lái)管理和定期刪除舊的日志內(nèi)容。以下是詳細(xì)的步驟: ## 1. 安裝 logrotate 工具 首先,確保系統(tǒng)上已經(jīng)安裝了 `logrotate`。在大多數(shù) Linux 發(fā)行版上,可以使用包管理器來(lái)安裝: ```bash sudo apt-get install logrotate # 對(duì)于 Debian/Ubuntu sudo yum install logrotate # 對(duì)于 CentOS/RHEL
3. 配置 logrotate
創(chuàng)建或編輯 logrotate
配置文件。例如,我們可以為 Nginx 日志創(chuàng)建一個(gè)自定義的 logrotate
配置文件 /etc/logrotate.d/nginx
:
bash 復(fù)制代碼 /var/log/nginx/access.log /var/log/nginx/error.log { daily rotate 14 compress delaycompress missingok notifempty create 0640 www-data adm sharedscripts postrotate [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript }
這個(gè)配置文件的解釋如下:
/var/log/nginx/access.log /var/log/nginx/error.log
:指定要輪換的日志文件(可以包括多個(gè)文件)。daily
:每天輪換日志文件。rotate 14
:保留 14 天的日志文件。compress
:壓縮舊的日志文件。delaycompress
:延遲一個(gè)輪換周期再壓縮上一個(gè)輪換的日志文件。missingok
:如果日志文件不存在,不會(huì)報(bào)錯(cuò)。notifempty
:如果日志文件為空,不會(huì)輪換。create 0640 www-data adm
:創(chuàng)建新的日志文件,并設(shè)置權(quán)限和所有者。sharedscripts
:確保postrotate
腳本只運(yùn)行一次,而不是為每個(gè)被處理的日志文件運(yùn)行一次。postrotate
:在日志文件輪換后運(yùn)行的腳本,kill -USR1
命令通知 Nginx 重新打開(kāi)日志文件。
4. 測(cè)試 logrotate 配置
在應(yīng)用配置之前,可以使用 logrotate
的 -d
參數(shù)來(lái)測(cè)試配置文件,而不實(shí)際執(zhí)行日志輪換:
sudo logrotate -d /etc/logrotate.d/nginx
如果配置沒(méi)有問(wèn)題,可以手動(dòng)觸發(fā)一次日志輪換來(lái)驗(yàn)證效果:
sudo logrotate -f /etc/logrotate.d/nginx
5. 確保定期運(yùn)行 logrotate
logrotate
通常由系統(tǒng)的 Cron 任務(wù)定期運(yùn)行。可以通過(guò)查看 /etc/cron.daily/logrotate
來(lái)確認(rèn)這一點(diǎn):
cat /etc/cron.daily/logrotate
這個(gè)文件通常會(huì)包含一條執(zhí)行 logrotate
的命令,例如:
/usr/sbin/logrotate /etc/logrotate.conf
通過(guò)這種方式,即使你的日志文件是一個(gè)大的單一文件,logrotate
也可以幫助你自動(dòng)管理和定期刪除舊的日志內(nèi)容,確保日志文件不會(huì)無(wú)限制地增長(zhǎng)。
以上就是定期刪除OpenResty/Nginx大日志文件的方法的詳細(xì)內(nèi)容,更多關(guān)于刪除OpenResty/Nginx日志文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Nginx解決轉(zhuǎn)發(fā)地址時(shí)跨域的問(wèn)題
這篇文章主要介紹了Nginx實(shí)現(xiàn)轉(zhuǎn)發(fā)地址解決跨域問(wèn)題的方法,文中介紹的很詳細(xì),對(duì)大家的學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-01-01nginx+lua+redis防刷和限流的實(shí)現(xiàn)
本文將介紹如何使用nginx lua redis實(shí)現(xiàn)防刷和限流,首先,我們將了解防刷和限流的基本概念和必要性,然后,我們將詳細(xì)介紹如何使用nginx lua redis實(shí)現(xiàn)防刷和限流,感興趣的可以了解一下2023-09-09Nginx中使用gzip_http_version解決CDN只支持http 1.0問(wèn)題
這篇文章主要介紹了Nginx中使用gzip_http_version解決CDN只支持http 1.0問(wèn)題,問(wèn)題原因是在Header信息中看到Transfer-Encoding: chunked,使用本文方法就可以解決這個(gè)問(wèn)題,需要的朋友可以參考下2014-09-09當(dāng)Nginx所在服務(wù)器的磁盤空間滿時(shí)的影響以及如何避免這一問(wèn)題
Nginx所在服務(wù)器的磁盤空間滿了,會(huì)導(dǎo)致日志無(wú)法寫入、緩存失效、反向代理請(qǐng)求異常等問(wèn)題,嚴(yán)重時(shí)可能導(dǎo)致服務(wù)不可用,這篇文章主要介紹了當(dāng)Nginx所在服務(wù)器的磁盤空間滿時(shí)的影響以及如何避免這一問(wèn)題,需要的朋友可以參考下2024-12-12Nginx加固的幾種方式(控制超時(shí)時(shí)間&限制客戶端下載速度&并發(fā)連接數(shù))
本文主要介紹了Nginx加固的幾種方式,包括控制超時(shí)時(shí)間,限制客戶端下載速度,并發(fā)連接數(shù)這幾種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03nginx限制ip訪問(wèn)頻率的實(shí)現(xiàn)示例
Nginx通過(guò)limit_conn_zone 和 limit_req_zone對(duì)同一個(gè)IP地址進(jìn)行限速限流,本文主要介紹了nginx限制ip訪問(wèn)頻率的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07