nginx--日志切分

目录

日志脚本

定时任务对脚本进行定时调度


日志切割文件

在nginx目录下创建文件夹

mkdir datalogs

日志脚本

log.sh

# nginx 根目录
BASE_DIR=/usr/local/nginx
# 定义要复制日志的文件名  这个日志文件在 ~/nginx/logs/~.log
BASE_FILE_NAME=bufanli.access.log

# 定义要复制日志文件的目录
CURRENT_PATH=$BASE_DIR/logs

# 定义切割文件存放的目录  需要在根目录创建一个文件目录路径
BAK_PATH=$BASE_DIR/datalogs

# 定义要复制的文件路径
CURRENT_FILE=$CURRENT_PATH/$BASE_FILE_NAME

# 定义回滚时间用来拼接日志名称 测试使用加%H-%M-%S  可以去掉  "%Y-%m-%d"
BAK_TIME=$(date -d "yesterday" +"%Y-%m-%d:%H-%M-%S")
# 输出一下
echo $BAK_TIME


# 拼接复制的文件名
BAK_FILE=$BAK_PATH/$BAK_TIME-$BASE_FILE_NAME

# 输出一下
echo $BAK_FILE

# 停掉nginx
$BASE_DIR/sbin/nginx -s stop

# 移动要复制的文件到切割文件目录
mv $CURRENT_FILE $BAK_FILE

# 启动nginx
$BASE_DIR/sbin/nginx

可以放在 nginx下的sbin目录下,赋权

执行以下测试看一下有没有异常  如果有异常建议手动touch log.sh 文件 手动编写以下,因为有有时候复制会出现编码问题

./log.sh

  

定时任务对脚本进行定时调度

打开定时job文件

crontab -e

*/1 * * * * 每分钟测试使用   0 2 * * *  每天凌晨两点执行

*/1 * * * * sh /usr/local/nginx/sbin/log.sh
执行结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值