centos7-nginx 日志手動或定時清理


一、手動清理nginx日志方式

mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access.log.bak  #重命名日志文件
mv /usr/local/nginx/logs/error.log /usr/local/nginx/logs/error.log.bak    #重命名日志文件
/usr/local/nginx/sbin/nginx -s reopen #重執行生成日志文件
rm -rf  /usr/local/nginx/logs/access.log.bak #刪除舊文件
rm -rf  /usr/local/nginx/logs/error.log.bak  #刪除舊文件

二、nginx日志定時清理方式

cd /usr/local/nginx/logs/
vim del_logs.sh
#寫入下面內容
#!/bin/bash
# 先復制原來的錯誤日志文件,請根據自己實際的日志路徑填寫
cp /usr/local/nginx/logs/error.log /usr/local/nginx/logs/error-$(date -d "yesterday" +"%Y%m%d").log
# 清空錯誤日志文件
cat /dev/null > /usr/local/nginx/logs/error.log
# 先復制原來的訪問日志
cp /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access-$(date -d "yesterday" +"%Y%m%d").log
# 清空原來的正常訪問日志
cat /dev/null > /usr/local/nginx/logs/access.log
# 定期刪除七天前的日志文件
find /usr/local/nginx/logs -mtime 7 -type f -name \*.log | xargs rm -rf

添加可執行權限

chmod +x del_logs.sh

添加Linux計划任務

crontab -e

寫入下面內容

#每天0點執行日志清理腳本
0 0 * * * /usr/local/nginx/logs/del_logs.sh

保存后退出。

重啟crond服務

systemctl restart crond

查看調度計划
crontab -l

完成nginx日志按天拆分與定期清除。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM