东坡网 - 更多系统软件下载,请关注东坡网:www.dongpow.com

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

如何定时清理Linux系统中的Nginx日志

时间:2023-04-12来源:东坡网作者:qipeng

  Nginx日志文件如何不定情清理,会变得越来越大,影响Nginx服务器的运行,下面小编就给大家介绍下Linux中清理Nginx日志的方法,一起来了解下吧。

 如何定时清理Linux系统中的Nginx日志

  nginx日志文件需要手动分割,创建脚本文件clear_log.sh

  文件路径/usr/local/nginx/clear_log.sh

  vi clear_log.sh。输入如下内容

  #!/bin/bash

  cp /usr/local/nginx/logs/error.log /usr/local/nginx/error-$(date -d “yesterday” +“%Y%m%d”).log

  #先复制原来的错误日志文件,请根据自己实际的日志路径填写

  cat /dev/null 》 /usr/local/nginx/logs/error.log

  #清空错误日志文件

  cp/usr/local/nginx/logs/access.log /var/log/nginx/access/access-$(date -d “yesterday” +“%Y%m%d”).log

  #先复制原来的正常访问日志

  cat /dev/null 》 /usr/local/nginx/logs/access.log

  #清空原来的正常访问日志

  创建dellog.sh文件,路径/usr/local/nginx

  vi dellog.sh

  #!/bin/sh

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

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

  #定期删除七天前的日志文件

  启动linux下的计划任务,将刚才创建好的两个shell脚本加入此计划

  crontab -e,输入如下内容

  0 0 * * * /usr/nginx/clear_log.sh

  #每天0点执行/usr/nginx/clear_log.sh

  0 0 * * * /usr/nginx/dellog.sh

  #每天0点执行 /usr/nginx/dellog.sh

  保存后退出,输入命令crontab root就会看到/var/spool/cron/文件夹下看到相应的副本文件root。至此完成nginx日志按天拆分与定期清除。

  逻辑详解:比如现在是3月18日0点0分,系统会自动执行clear_log.sh与dellog.sh两个shell脚本。clear_log.sh会把3月17日的日志文件分别生成为access_20140317.log与error_20140318.log,然后把原来的access.log与error.log分别清空。dellog.sh则会自动判断该文件的创建时间,如果是十五天前的就会自动清除

  上面就是Linux清理Nginx日志的方法介绍了,因为Nginx日志没有自动清理的功能,一般采用切割日志的方法进行处理。

分享到:

相关信息

  • Ubuntu设置默认程序的方法汇总

    在Ubuntu系统操作中,有时会因为按照了某些软件而导致了默认启动程序发生了变化,想要改回原来的默认程序该怎么办呢?下面小编就给大家介绍下Ubuntu系统中设置默认程序的方法/步骤。...

    2023-04-12

  • Linux使用chgrp命令修改文件所属群组的方法

    使用Linux系统中的chgrp命令可以修改文件或目录的所属群组,那么chgrp命令还有哪些用法呢?下面系统之家的小编就给大家详细介绍下Linux chgrp命令的用法,有兴趣的朋友不妨来了解下。...

    2023-04-12

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载

公众号