博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx日志分割脚本
阅读量:6390 次
发布时间:2019-06-23

本文共 1364 字,大约阅读时间需要 4 分钟。

脚本说明:

每天00:00定时切割Nginx日志

[root@check1 ~]# cat /etc/crontab SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# For details see man 4 crontabs# Example of job definition:# .---------------- minute (0 - 59)# | .------------- hour (0 - 23)# | | .---------- day of month (1 - 31)# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | | | | |# * * * * * user-name command to be executed00 00 * * * root /bin/bash /usr/local/nginx/conf/cut_nginx_log.sh

使用下面脚本,需根据实际路径进行修改

修改下面三项即可:

  • OLD_FILE中 +90代表保留90天的日志,90天后的会自动清理
  • LOGS_PATH
  • PID_PATH
#!/bin/bash#CUT_NGINX_LOG#Version:1.0LOGS_PATH="/usr/local/nginx/logs"YESTERDAY=`date -d "yesterday" +"%Y-%m-%d"`PID_PATH="/usr/local/nginx/logs/nginx.pid"OLD_FILE=`find $LOGS_PATH -mtime +90 -type f -name "ERROR*"`if [ ! -d "$LOGS_PATH/old_access" ]then    mkdir $LOGS_PATH/old_accessfiif [ ! -d "$LOGS_PATH/old_error" ]then    mkdir $LOGS_PATH/old_errorfimv ${LOGS_PATH}/access.log ${LOGS_PATH}/old_access/ACCESS_${YESTERDAY}.logmv ${LOGS_PATH}/error.log ${LOGS_PATH}/old_error/ERROR_${YESTERDAY}.logkill -USR1 `cat ${PID_PATH}`if [[ ! -z $OLD_FILE ]]then    for a in $OLD_FILE    do        TIME=`date`        echo "delet $a $TIME" >> /var/log/messages        rm -rf $a    donefi

转载于:https://www.cnblogs.com/LuckWJL/p/10619998.html

你可能感兴趣的文章
面经-智力题
查看>>
二十四,Arrays和比较器
查看>>
解决Docker容器 iptables问题
查看>>
如何在CentOS6.2上安装并运行飞鸽传书
查看>>
ssh登陆问题
查看>>
Mysql执行计划
查看>>
Android布局之LinearLayout
查看>>
veeam.Backup.and.Replication 6 测试之二--backup和replication功能
查看>>
fedora 17 安装极点五笔
查看>>
OpenCV3的机器学习算法-K-means-使用Python
查看>>
我的友情链接
查看>>
英特尔分布式深度学习平台Nauta-安装、配置与管理指南
查看>>
Microsoft 用户体验虚拟化 UE-V 1.0 RC 发布
查看>>
error code [17027]; 流已被关闭;
查看>>
系统定制封装 step1
查看>>
Oracle --存储过程,输入不定个数参数
查看>>
java --级联操作(查询/更新)
查看>>
FineReport中如何自定义登录界面
查看>>
zabbix进程
查看>>
Windows安全策略
查看>>