nginx日志按日期自动切割脚本

#!/bin/bash

#nginx日志切割脚本

#author:setevn

#设置日志文件存放目录

logs_path="/usr/local/nginx/logs/"

#设置pid文件

pid_path="/usr/local/nginx/nginx.pid"

#重命名日志文件

mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log

#nginx主进程发信号重新打开日志

kill -USR1 `cat ${pid_path}`

 

crontab 设置 

0 0 * * * bash /usr/local/nginx/nginx_log.sh
这样就每天的00分把nginx日志重命名为日期格式,并重新生成今天的新日志文件。

 

 

split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件。

参  数:
 -<行数>或-l<行数>  指定每多少行就要切成一个小文件。 
 -b<字节>  指定每多少字就要切成一个小文件。 
 -C<字节>  与-b参数类似,但切割时尽量维持每行的完整性。 
 --help  显示帮助。 
 --version  显示版本信息。 
 [输出文件名]  设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。

原文地址:https://www.cnblogs.com/setevn/p/7762804.html