Nginx 自动生成日志备份
Nginx网站访问日志数据会随着访问量的增加而日益庞大,以下介绍一个简单的脚本,自动切割备份过往日期日志数据
# 在任何位置创建一个脚本 vim /path/yourpath/nginx_logs.sh
以下是脚本代码
#! /bin/bash
# 日志路径可以根据实际项目更改,不存在自动创建文件夹路径
test -d /data/oldlogs || mkdir -p /data/oldlogs
# nginx 每日生成的log路径
log_dir='/data/logs/'
# nginx 需要备份生成的log路径
oldlog_dir='/data/oldlogs/'
# nginx.pid 路径 根据实际项目位置修改,以下仅供参考
pid_dir='/var/run/nginx.pid'
# 备份超过30天的数据 自动删除
Dateago=`date --date '30 days ago' +%Y%m%d`
# 前一天时间
Date1=`date --date '1 days ago' +%Y%m%d`
for i in `ls $log_dir*[gr]`
do
mv "$i" "$i"."$Date1"
mv "$i"."$Date1" "$oldlog_dir"
done
kill -USR1 `cat $pid_dir`
find $oldlog_dir -name "*"$Dateago"*" -exec rm -f {} \;脚本写完后加入crontab中定时去跑就行了
声明:版权所有,违者必究 | 如未注明,均为原创 | 本网站采用 BY-NC-SA 协议进行授权
转载:转载请注明原文链接,违者必究 - :https://www.wolfcode.net/info/227/


