开发者社区> 问答> 正文

怎么实现自动定期删除Nginx日志

已解决

Nginx的日志文件累积的太多,最后充满了整个磁盘空间,怎么清理

展开
收起
我的中国 2016-02-01 17:07:40 2447 0
1 条回答
写回答
取消 提交回答
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者
    采纳回答

    !/bin/bash

    find /usr/local/nginx/logs/ -mtime +15 -type f -name *.log | xargs rm -f

    上述脚本是将nginxlogs下面的15天之前的日志文件删除,可以参考上面的脚本删除其他程序(如PHP、Tomcat)的日志文件。不过使用脚本的时候需要将Nginx的日志文件进行自动分割,否则会删除正在写入的日志文件了,Nginx日志分割脚本可以见 Linux下源码方式安装Nginx和PHP(FastCGI) 或者 CentOS系统初始安装MySQL、PHP和Nginx的脚本。
    将脚本保存并使用chmod +x 命令指定可执行权限,最好还需要加入任务列表中(每天凌晨一点执行):

    [root@localhost ~]# crontab -e
    00 01 * /bin/bash /root/shell/autodellogs.sh
    [root@localhost ~]# service crond restart

    2019-07-17 18:27:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载