Linux系統(tǒng)下nginx日志每天定時切割的腳本寫法
使用Linux系統(tǒng)自帶的命令logrotate對Nginx日志進行切割。
Nginx安裝目錄:/usr/local/nginx/
Nginx日志目錄:/usr/local/nginx/logs/、/usr/local/nginx/logs/nginx_logs/
1、添加nginx日志切割腳本
cd /etc/logrotate.d #進入目錄 vi /etc/logrotate.d/nginx #編輯腳本 /usr/local/nginx/logs/*.log /usr/local/nginx/logs/nginx_logs/*.log{ missingok dateext notifempty daily rotate 7 sharedscripts postrotate if [ -f /usr/local/nginx/logs/nginx.pid ]; then kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` fi endscript }
:wq! #保存退出
chmod +x /etc/logrotate.d/nginx #添加執(zhí)行權限
2、執(zhí)行腳本
/usr/sbin/logrotate -vf /etc/logrotate.d/nginx
3、添加定時任務
crontab -e #添加以下代碼
0 0 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/nginx #每天凌晨定時執(zhí)行腳本
至此,Linux下nginx日志每天定時切割教程完成。
備注:logrotate相關參數(shù)說明
missingok:忽略錯誤,如“日志文件無法找到”的錯誤提示。
dateext:切換后的日志文件會附加上一個短橫線和YYYYMMDD格式的日期,沒有這個配置項會附加一個小數(shù)點加一個數(shù)字序號
notifempty:如果日志文件為空,不執(zhí)行切割。
daily:按天切割日志??捎弥翟拢簃onthly 周:weekly 年:yearly
rotate 7:保留最近7天的日志記錄
sharedscripts:只為整個日志組運行一次的腳本
postrotate和endscript:里面指定的命令將被執(zhí)行。
compress::在輪循任務完成后,已輪循的歸檔將使用gzip進行壓縮。
delaycompress::總是與compress選項一起用,delaycompress選項指示logrotate不要將最近的歸檔壓縮,壓縮將在下一次輪循周期進行。這在你或任何軟件仍然需要讀取最新歸檔時很有用。
create 644 root root: 以指定的權限創(chuàng)建全新的日志文件,同時logrotate也會重命名原始日志文件。
以上所述是小編給大家介紹的Linux系統(tǒng)下nginx日志每天定時切割的腳本寫法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
Nginx隱藏index.php和Pathinfo模式配置例子
這篇文章主要介紹了Nginx隱藏index.php和Pathinfo模式配置例子,需要的朋友可以參考下2014-04-04使用ngxtop實時監(jiān)控Nginx日志文件的示例代碼
在Nginx日志分析領域,ngxtop是一款強大的實時監(jiān)控工具,它能夠即時解析Nginx的訪問日志文件,提供直觀、可定制的實時統(tǒng)計信息,幫助管理員更好地了解服務器的運行狀況和Web流量,本文給大家介紹使用ngxtop實時監(jiān)控Nginx日志文件的示例代碼,需要的朋友可以參考下2024-01-01nginx-ingress-controller日志持久化方案的解決
這篇文章主要介紹了nginx-ingress-controller日志持久化方案的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03