写一个nginx日志切割脚本
时间: 2023-12-13 11:03:16 浏览: 89
Nginx日志切割脚本
好的,以下是一个基本的nginx日志切割脚本,你可以根据自己的需要进行修改和优化:
```
#!/bin/bash
LOG_DIR=/var/log/nginx # nginx日志目录
MAXAGE=7 # 日志最大保存天数
# 判断日志目录是否存在
if [ ! -d $LOG_DIR ]; then
echo "日志目录 $LOG_DIR 不存在!"
exit 1
fi
# 切割日志文件
for file in $LOG_DIR/access.log $LOG_DIR/error.log; do
if [ -f $file ]; then
mv $file $file.$(date +%Y%m%d)
gzip $file.$(date +%Y%m%d)
fi
done
# 删除过期的日志文件
find $LOG_DIR -name "access.log.*" -type f -mtime +$MAXAGE -exec rm -f {} \;
find $LOG_DIR -name "error.log.*" -type f -mtime +$MAXAGE -exec rm -f {} \;
```
该脚本将日志文件切割成以当前日期命名的压缩文件,并删除指定天数以前的过期日志文件。可以将该脚本添加到定时任务中,每天执行一次。
阅读全文