1、在nginx目錄下新建乙個指令碼檔案cut_nginx_logs.sh,具體nginx路徑根據實際情況更改,指令碼內容如下
#!/bin/bash
#logs_path為日誌存放路徑
logs_path=/home/admin/mid/nginx/logs/
yesterday=$(date -d "yesterday" +%y-%m-%d)
keeptime=$(date -d "-30 days" +%y-%m-%d)
#切分日誌檔案
mv $access.log $access_$.log
mv $error.log $error_$.log
#通過nginx訊號量控制重讀日誌,/home/admin/mid/nginx-1.16.1/為nginx安裝目錄
kill -usr1 $(cat /home/admin/mid/nginx/logs/nginx.pid)
#刪除30天前的日誌檔案
rm -f $access_$.log
rm -f $error_$.log
echo 0
2、設定每天00:01分自動執行指令碼
crontab -e
01 00 * * * ./etc/profile; /bin/sh /home/admin/mid/nginx/cut_nginx_logs.sh
檢視crond服務是否在執行
ps -ef | grep crond
crond reload
linux 清理過期日誌
linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時 去執行吧。1.刪...
Shell程式設計 自動刪除清理過期日誌
要求 根據檔案最後修改時間刪除清理指定目錄下面的檔案,並在 var log deletelog下面生成按月的刪除清理日誌 分析 在查詢檔案時要想不受檔名限制 我們採用檔案最後修改時間mtime進行查詢,而且還適用於刪除過期備份。find 目錄 type f 查詢檔案時會根據換行來輸出查詢的檔案,而我...
linux伺服器自動切割並清理日誌
由於nginx的日誌會不停地增大,所以需要我們自己去切割日誌,方便管理,需要達到以下的效果 1.按日期自動切割日誌,最小單位是天。2.當日誌總量超過一定量時,自動直接清理日誌,限定總量不能超過1gb。3.寫入crontab定時任務裡。分析 1.nginx日誌目錄下分別有access.log和erro...