在工作中可能会需要对nginx的日志实现自动分割,自己写了一个函数,大家如果觉得可以的话:
可以直接复制保存修改一下nginxPATH和 /opt/nginx/sbin/nginx -s reopen这两个地方 地址。然后直接使用。
#!/bin/bash
#参数解释:$1 切割日志的大小,数字类型,单位为:m。
#参数解释:$2 切割日志的文件名称:access正确日志 error错误日志,可自定议为自己的日志文件名称。
function nginxLogReopen(){
nginxPATH='/opt/nginx/logs';
nginxPathNew=`date +%Y%m%d%H%M%S`;
#获取nginx日志文件大小
nginxLogCount=`wc -c $nginxPATH/$2.log | awk '{print $1}'`
#计算最大的值
nginxMaxCount=$(($1*1024))
if [ $nginxLogCount -gt $nginxMaxCount ];then
mv $nginxPATH"/"$2".log" $nginxPATH"/$2"$nginxPathNew".log";
touch $nginxPATH"/"$2".log"
/opt/nginx/sbin/nginx -s reopen
fi
}
nginxLogReopen 2 'error'
后期将完善更多的shell脚本,希望大家喜欢。。。。