nginx定期清理日志

原创作者:运维工程师 谢晋

nginx定期清理日志

  1. 创建脚本clean_nginx_logs.sh

    vi clean_nginx_logs.sh

    #!/bin/bash

    定义日志文件路径

    LOG_DIR="/var/log/nginx"
    ACCESS_LOG="access.log"
    ERROR_LOG="error.log"

    定义保留日志的天数

    DAYS_TO_KEEP=7

    清理访问日志

    find LOG_DIR -name "ACCESS_LOG*" -type f -mtime +$DAYS_TO_KEEP -exec rm -f {} ;

    清理错误日志

    find LOG_DIR -name "ERROR_LOG*" -type f -mtime +$DAYS_TO_KEEP -exec rm -f {} ;

    重新加载 Nginx 以重新打开日志文件

    nginx -s reload

    echo "Nginx logs older than $DAYS_TO_KEEP days have been cleaned up."

  2. 保存脚本后,确保它具有可执行权限

    chmod +x /path/to/clean_nginx_logs.sh

  3. 设置定时任务

    crontab -e

    0 2 * * * /path/to/clean_nginx_logs.sh

注意事项

日志切割:如果你使用 logrotate 来管理 Nginx 日志,可能不需要手动清理日志文件。logrotate 可以自动处理日志文件的轮转和删除。

Nginx 重载:在删除日志文件后,脚本会重新加载 Nginx 以确保日志文件被重新打开。如果你不使用 nginx -s reload,Nginx 可能会继续写入已删除的文件,导致磁盘空间未被释放。

相关推荐
wanhengidc14 分钟前
在云手机中游戏可以自动更新吗?
运维·科技·安全·游戏·智能手机
wanhengidc20 分钟前
云端虚拟手机:云手机的原理是什么?
运维·安全·游戏·智能手机
IDC02_FEIYA1 小时前
魔域服务器多少钱一个月?魔域服务器配置要求及推荐
运维·服务器
斯普信专业组1 小时前
ELK 统一日志分析系统部署与实践指南(下)
运维·elk
风亦辰7392 小时前
大数据开发环境搭建(Linux + Hadoop + Spark + Flink + Hive + Kafka)
大数据·linux·hadoop
Joy-鬼魅2 小时前
vim中常见操作及命令
linux·编辑器·vim
AirDroid_cn2 小时前
Linux电脑怎样投屏到客厅的大电视?支持远程投屏吗?
linux·运维·电脑·电视·电脑投屏·投屏电视·远程投屏
滴滴滴嘟嘟嘟.2 小时前
嵌入式Linux RAMDisk驱动开发
linux·运维·驱动开发
FIT2CLOUD飞致云2 小时前
功能持续优化,应用商店新增CRM分类,1Panel v2.0.10版本正式发布
运维·开源
RUNNING123!3 小时前
华为eNSP防火墙综合网络结构训练.docx
运维·网络·华为·ssh