阿里雲1000元通用代金券點此領取
昨天線上伺服器磁碟報警,登入後檢視發現單個應用日誌nohup.out達到了十幾個g,明明做了logrotate日誌切割,日誌還是在不斷的增大
logrotate配置檔案如下
/data/tomcat/*/*.log
檢視 /var/lib/logrotate.status 確實執行了日誌切割,而且目錄裡有日誌切割後的壓縮檔案,大小也正常
通過ll -h 檢視日誌檔案有十幾個g,但是用du -sh 檔案發現只有幾十m
發現啟動命令中nohup ***.sh > nohup.out &
重定向輸出用的是>
,這種情況如果服務不停止,檔案占用的磁碟空間不會被釋放。就算手動執行> nohup.out
清空了日誌變成0kb,下一條日誌開始寫的時候還是會變成清空之前的大小。
解決方案:
把>
替換成>>
追加的形式,就可以被logrotate正常切割
比如nohup ***.sh >> nohup.out &
tomcat日誌切割 logrotate
每天晚上,cron daemon會自動執行 etc cron.daily目錄下的任務 這個會觸發 etc cron.daily logrotate檔案,logrotate一般是隨linux按安裝的。它會執行這個命令 etc sbin logrotate etc logrotate.conf 注意空格...
logrotate 日誌切割 原理
logrotate 是怎麼做到滾動日誌時不影響程式正常的日誌輸出呢?logrotate 提供了兩種解決方案。create copytruncate 介紹一下相關的 linux 下的檔案操作機制。linux 檔案系統裡檔案和檔名的關係如下圖。目錄也是檔案,檔案裡存著檔名和對應的 inode 編號。通過...
使用logrotate切割nginx日誌
配置 1 在 etc logrotate.d目錄下建立乙個nginx的配置檔案 nginx 配置內容如下 vim etc logrotate.d nginx usr local nginx logs log 儲存退出。2 執行logrotate usr sbin logrotate f etc lo...