linux 按天压缩并切割日志

linux 按天压缩并切割日志,第1张

1、linux 自带的 logrotate 命令

2、定义切割文件相关信息

/var/log/nginx/*.log {

daily #按天打包

rotate 180 #保存周期为180以内的,超过180天的则删除

missingok

notifempty

dateext

compress

nodelaycompress

sharedscripts

postrotate

/etc/init.d/nginx reload

endscript

}

3、crontab 设置一个定时任务

59 23 * * * /usr/sbin/logrotate -f /var/logrotate/nginx >>/tmp/logrotate.log

 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日志没有自动清理的功能,一般采用切割日志的方法进行处理。

在脚本nohup设置每天开始拷贝日志作为前一天的日志备份,然后把当前日志清空即可,代码如下:

crontab -e

//增加:

0 0 * * *  cp /dirname/logfile.log /bakdir/logfile.`date -d yesterday +%Y%m%d`.log cat /dev/null > /dirname/logfile.log

//每周日凌晨1:00打包、删除文件:

0 1 * * 0 cd /bakdir find ./ +mtime 7 -exec tar cvf logfile.`date -d yesterday +%Y%U`.tar {} \ find ./ -mtime 91 -exec rm -f {} \


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8103837.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存